針對無線網絡的基于ieee 1588ptp機制的時間同步改進方法
【專利摘要】本發明是一種針對無線網絡的基于IEEE 1588 PTP機制的時間同步改進方法。該方法的特征是:在遵從IEEE 1588 PTP時間信息包交換機制的情況下,在時間同步的包交換過程中,偵聽并截獲其他相鄰節點與主節點按照IEEE1588 PTP機制進行交換時的時間信息包,從而實現了一種從-從同步機制。該方案是對IEEE 1588 PTP主-從同步的擴展,可以獲得更多時間信息,利用從-從同步機制中所獲得的信息冗余,在從節點采用線性回歸的方法使得對鐘偏移和頻率漂移的估計更準確可靠,從而能減弱主從路徑不對稱,時間戳不夠精確因素造成的影響,以在無線網絡中實現高精度,高可靠的時間同步。
【專利說明】針對無線網絡的基于IEEE1588PTP機制的時間同步改進 方法
【技術領域】
[0001] 本發明涉及通信領域,尤其涉及一種針對無線網絡的基于IEEE1588PTP機制的 時間同步改進方法。
【背景技術】
[0002] 無線傳感網(WSNs,WirelessSensorNetworks)是由大量共同合作的低功耗節點 組成的無線網絡,每個節點具有有限的計算能力,無線通信能力和感知能力。通過引入控制 執行器,無線傳感器執行器網絡(WSANs,WirelessSensorActuatorNetworks)指具備無 線控制執行功能,適合于過程監測與控制的一種特殊無線傳感網。由于無線傳感執行器網 絡節點的本地時鐘是通過內部晶振中斷計數來實現的,由節點初始計時時刻不同和內部晶 振的頻率偏差變化等,網絡中各節點間的時鐘不同步。WSAN的時間同步是指使WSAN中所有 或部分節點擁有相同的時間基準,就是要把分布在各節點的時鐘對準(同步起來)。
[0003] 時間同步(TimeSynchronization)技術是無線傳感執行器網絡的重要支撐技術。 特別的,在工業自動化系統中,自動的工作流程之間的相互協調非常重要,要求相關聯的傳 感器節點能較好執行同步數據采集,相關聯的執行器節點能協同一致進行控制操作,因此 WSAN對時間同步的精度和可靠性都有更高的要求,高于普通家庭和商用無線網絡系統。如 多傳感器的數據融合,目標定位和監測,分布式波束成型陣列與控制,TDMA通信調度,基于 睡眠調度的電池節能等,都對時間同步較高要求,因此,時間同步在WSAN的諸多應用中特 別重要,其重要性體現在三個方面:步決定了數據是否準確有效,決定了控制系統的性能好 壞,決定了網絡整體性能優劣(如信道利用率,吞吐量,網絡生命周期等)。
[0004] 目前常用的時間同步方法有:NTP方法,RBS方法,TPSN方法和FTSP方法等。其 中,網絡時間協議(NTP)主要針對傳統的基于IP的英特網,是一種典型的主從同步方法,由 NTP的客戶端(即從時鐘)發起,首先向NTP服務器(即主時鐘)發送還有本地時間戳T1 的同步請求包,服務器收到該請求包后記錄下此包接收時間T2。然后服務器在T3時刻向 客戶端回復響應包,并把T3時間戳附在該響應包中。客戶端接收到該響應包時,記錄下接 收時間戳T4。客戶端從該交換中獲取的時間戳信息Tl,T2,T3和T4就可以計算出主從時 鐘之間的偏差,從而完成時間調整和同步。RBS是一種針對無線傳感器網路提出來的時間 同步方法,該方法基于單向廣播機制,有效克服了發送端的操作處理延時和媒介訪問延遲 (如CSMA/CA指數退避算法的延遲)對同步精度的影響,達到了一定的精度,可靠性較高, 但其計算量和同步開銷較大,能耗較高。TPSN方法基于雙向成對的同步機理,同步效果較 高,比RBS的精度更高,但對主節點的依賴較大,可靠性受限。而FTSP方法為泛洪廣播式時 間同步算法,然后基于最小二乘法進行時鐘偏移的估計,雖然單向廣播使得同步方式簡單, 但最小二乘法需要大量的廣播數據和較高的計算量,因此會耗費較多的通信帶寬和計算資 源。FTSP方法存在的問題主要是:對于密度大的網絡,泛洪廣播會在形成大量的廣播數據 包的突發發送,引起碰撞的幾率很高,消耗節點能量和網絡資源。
[0005] 隨著分布式網絡測控系統的廣泛應用,針對基于有線局域以太網(Ethernet)的 測控系統,IEEE(InstituteofElectricalandElectronicsEngineers)在 2002 年發 布了精確時間同步協議(PrecisionTimeProtocol)標準,代號IEEE1588,的全稱是"網 絡測量和控制系統的精密時鐘同步協議標準",簡稱PTP。在2008年又制定了新版本的 IEEE1588v2協議。IEEE1588是一個比較復雜的主從同步方法,與NTP相似,是通過主從時 鐘交換帶有時間戳信息的數據包來同步。理論上,在時間戳足夠精確時(如采用基于硬件 的時間戳技術),IEEE1588PTP可以提供亞毫秒級的精確時間同步,這遠比NTP等的精度 高的多,且通信貸款和計算資源消耗較低,這使得它適用于工業控制,測量等時間苛刻的應 用,因此目前國際上的實時以太網都采用IEEE1588作為其系統的一個核心部分。
[0006]IEEE1588是針對有線局域以太網提出來的,它有三個假設,這三個假設的實現程 度直接決定了時間同步的精度。這三個假設是:
[0007] (1)對稱路徑及主從傳輸延遲相等。它要求數據包由主節點到從節點的傳輸時間 與數據包由從節點到主節點的傳輸時間相等
[0008] (2)時鐘偏移在時間信息包交換過程中不變。該假設要求較穩定的節點時鐘振蕩 器和較快的包交換時間,帶有時間戳的數據包的交換發生在一段很小的時間內,以確保從 時鐘的時鐘偏移在這段時間內是固定不變的。等價地,這個假設也是節點時鐘振蕩器的穩 定性和精度的假設,要求振蕩器具有較高的質量。
[0009] (3)精確的時間標記。假設主從節點都能夠精確地測量出它們發送或接收數據包 的時間。
[0010] 在實際應用中,由于以太網的高速率和線纜信號的傳輸受外界環境影響較弱,假 設(1)和(2)能較好滿足,在不太關注供電和設備成本的情況下,在以太網設備中可以采 用高質量晶振和硬件,滿足條件(2)和(3)。
[0011] 但這些假設在無線網絡中未必能得到很好的滿足。這表現在,受電池供電,硬件設 備和環境影響(如溫度)的限制,無線節點的晶振精度受限,漂移明顯。由于無線信道衰落 很大,較有線信道更易受外界環境的電磁干擾,以及隱蔽節點等問題,很容易形成主從之間 的傳輸延遲不對稱。因此標準的IEEE1588PTP并不能很好的適用于無線傳感執行器網絡。
【發明內容】
[0012] 本發明旨在至少解決現有技術中存在的技術問題,特別創新地提出了一種針對無 線網絡的基于IEEE1588PTP機制的時間同步改進方法。
[0013] 為了實現本發明的上述目的,本發明提供了一種針對無線網絡的基于IEEE 1588PTP機制的時間同步改進方法,其關鍵在于,包括如下步驟:
[0014] 步驟1,由主節點周期性的啟動主節點和從節點之間帶有時間戳的時間信息包交 換;
[0015] 步驟2,若干從節點逐一與主節點進行時間信息包交換,在某一從節點未與主節點 進行時間信息包交換時,該從節點保持偵聽模式,并截獲其它相鄰從節點和主節點間以廣 播方式進行交換的時間同步信息包;
[0016] 步驟3,從節點將截獲的相鄰從節點和主節點的時間同步信息包中的時間戳進行 線性回歸優化,獲得本從節點的時鐘頻率偏差和頻率漂移的估計值,并利用獲得的時鐘偏 差和頻率漂移的估計值對從節點時鐘進行調整,實現時間同步。
[0017] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述步驟1包括:
[0018] 步驟1-1,主節點首先發送包含發送時間戳信息的同步包(Sync);
[0019] 步驟1-2,從節點接收到同步包(Sync)后,獲取同步包(Sync)的接收時間戳信息, 回復延遲請求包〇)elay_Req)給主節點,并獲取延遲請求包(Delay_Req)的發送時間戳;
[0020] 步驟1-3,主節點在接收到延遲請求包(Delay_Req)后,獲取延遲請求包(Delay_ Req)的接收時間戳信息,回復延遲響應包(Delay_Resp)給從節點,并把延遲請求包 (Delay_Req)的接收時間戳信息放入延遲響應包(Delay_Resp)中一起發送。當從節點未 與主節點進行延遲請求包〇elay_Req)和延遲響應包(Delay_Resp)交換時,轉入偵聽模 式,截獲其他從節點與主節點之間交換的延遲請求包〇elay_Req)和延遲響應包(Delay_ Resp)及其相應時間戳。
[0021] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述步驟1包括:
[0022] 步驟1A,主節點以廣播方式發送一個同步包(Sync)給全部從節點,啟動時間同步 過程;
[0023] 步驟1B,主節點以本地時鐘為參照,獲取同步包(Sync)的發送時間戳tl,并將時 間戳tl添加在同步包(Sync)中;
[0024] 步驟1C,從節點處于接收模式,等待接收該同步包(Sync);
[0025] 步驟ID,從節點在接收到主節點發送的同步包(Sync)后,以從節點本地時鐘為參 照,立刻獲取該同步包(Sync)的接收時間,記作時間戳t2;
[0026] 步驟1E,從節點解析其接收到的同步包(Sync)中的數據,獲取其中的時間戳信息 tl〇
[0027] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述步驟2包括:
[0028] 步驟2A,主節點轉入接收模式,準備接收即將由從節點返回的延遲請求包 (Delay_Req)包;
[0029] 步驟2B,從節點轉入發送模式,準備發送一個延遲請求包(Delay_Req)消息給主 節點,并進入MAC機制所規定的無線信道爭用過程;
[0030] 步驟2C,若從節點獲得了無線信道的使用權,以廣播方式向主節點發送該Delay_ Req包,并以從節點本地時鐘為參照,獲取延遲請求包(Delay_Req)的發送時間戳t3,將時 間戳t3作為時間戳附加在延遲請求包(Delay_Req)中;
[0031] 步驟2D,主節點在接收到延遲請求包(Delay_Req)后,以主節點本地時鐘為參照, 立刻獲取該延遲請求包(X>elay_Req)的接收時間,記作時間戳t4;主節點轉入發送模式,將 時間戳t4附加到延遲請求包(Delay_Req)中,以廣播方式發送延遲請求包(Delay_Req)給 從節點;發送完成后,主節點轉入接收模式;
[0032]步驟2E,從節點接收延遲請求包(Delay_Req),并將時間戳t4解析出來;
[0033] 步驟2F,若從節點未能獲得無線信道的使用權,從節點轉入偵聽接收模式,偵聽 并截獲其他相鄰節點發出的延遲請求包(X>elay_Req)和主節點發出的帶有時間戳t4的延 遲響應包〇)elay_ReSp)進行截獲;在截獲延遲請求包(Delay_Req)時,以從節點的本地時 鐘為參照,獲取延遲請求包(Delay_Req)的接收時間,記作時間戳t5 ;在截獲延遲響應包 (Delay_Resp)后,將延遲響應包(Delay_Resp)中的時間戳t4解析出來;
[0034] 步驟2G,對于獲得了無線信道的使用權的從節點,當完成步驟2C,2D和2E后,放棄 該使用權,轉入步驟2F的偵聽模式;
[0035] 步驟2H,對于未獲得無線信道的使用權的從節點,在完成步驟2F后,轉入步驟2B 的發送模式,競爭使用無線信道使用權,向主節點發送自己的延遲請求包〇)elay_Req);
[0036] 步驟21,主節點的包交換結束機制,當所有從節點均與主節點完成包交換后,或者 在設定時間閾值內未偵聽到任何時間信息報交換,則主節點認為本輪同步完成,結束當前 包交換過程,等待下一輪同步周期到,轉入步驟1-1 ;
[0037] 步驟2J,從節點的包交換結束機制,當所有從節點均與主節點完成包交換后,或者 在一段時間閾值內未偵聽到任何時間信息報交換,則從節點認為本輪同步的包交換已經完 成,從節點退出接收偵聽模式。
[0038] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述步驟3包括:
[0039] 步驟3A,從節點與主節點之間包交換得到的tl,t2,t3,t4時間戳和一組通過偵聽 得到的其他鄰節點k和主節點之間包交換得到的t4[k]和t5[k]時間戳,其中k為第k個 鄰接點,若某從節點擁有N個鄰節點,則k= {1,2,…N},N為正整數,該從節點最多通過偵 聽獲取到N對{t4 [k],t5 [k]}時間戳,利用線性回歸優化方法,估計出從節點時鐘的時間偏 差;參照IEEE1588PTP方式從tl,t2,t3和t4中得到一個關于時鐘偏差和傳輸延遲之間 的函數關系式;
[0040] 步驟3B,偵聽獲得的N對{t4 [k],t5 [k]}中得到N個關于偏差和傳輸延遲之間的 函數關系式;
[0041] 步驟3C,運用最小二乘法對上述N+1個函數關系式進行求解,得到時鐘偏差的最 優估計值。
[0042] 步驟3D,得到的時鐘偏差最優估計值后,從節點計算出的從節點時鐘的頻率漂移, 得到時鐘偏差和頻率漂移的估計值;
[0043] 步驟3E,利用所得到的時鐘偏差和頻率漂移估計值,對從節點時鐘進行調整,實 現時間同步。
[0044] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述時間信息包交換包括:
[0045] 步驟101 :在時間點TA,主節點以廣播方式開始發送Sync時間信息包,并獲取該 Sync包的發送時間tl,并將tl放入Sync包中一起發送;
[0046] 步驟102 :在時間點TB,該Sync時間信息包到達從節點,各個從節點以本地從時鐘 為參照,獲取Sync包的接收時間,由于各節點的本地從時鐘并不一致,所以Sync包的接收 時間戳的值也未一樣,因此從節點i的Sync包接收之間記作t2 [i],以此類推;
[0047] 步驟103:在時間點TC,經過一段時間的處理延遲和媒介爭用過程,從節點i獲 得了媒介的使用權,在該從節點的時間點t3[i]向主節點回復Delay_Req時間信息包,該 Delay_Req包也以廣播方式發送,也可以被相鄰節點偵聽并接收到;
[0048] 步驟104:在時間點TD,從節點i發出的Delay_Req時間信息包到達主節點和各相 鄰節點,主節點以主時鐘為參照,獲取Delay_Req包到達主節點的時間,記作t4[i],其中i 表示該Delay_Req包來自節點i,相鄰從節點以各自從時鐘為參照,獲取Delay_Req包到達 各從節點的時間,分別記作t5[i];
[0049] 步驟105:在時間點TE,主節點經過一段時間的處理延遲后,把步驟104中獲得的 接收時間戳t4[i]放入一個Delay_Resp時間信息包,并以廣播方式發送該Delay_Resp時 間信息包給所有從節點,包括從節點i;
[0050] 步驟106:在時間點TF,該Delay_Resp時間信息包到達從節點,各個從節點從該 Delay_ReSp包中提取出時間戳信息t4[i];
[0051] 步驟107,在時間點TG,另一從節點k獲得了媒介的使用權,在該從節點的時間點 t3[k]向主節點回復Delay_Req時間信息包,該Delay_Req包也以廣播方式發送,也可以被 相鄰節點偵聽并接收到;
[0052] 步驟108,在時間點TH,從節點k發出的Delay_Req時間信息包到達主節點和各相 鄰節點,主節點以主時鐘為參照,獲取Delay_Req包到達主節點的時間,記作t4 [k],其中,k 表示該Delay_Req包來自節點k;相鄰從節點以各自從時鐘為參照,獲取Delay_Req包到達 各從節點的時間,分別記作t5[k];
[0053] 步驟109 :在時間點TI,主節點經過一段時間的處理延遲后,主節點把步驟108中 獲得的接收時間戳t4[k]放入一個Delay_Resp時間信息包,并以廣播方式發送該Delay_ Resp時間信息包給所有從節點;
[0054] 步驟110:在時間點TJ,該Delay_Resp時間信息包到達從節點,各個從節點從該 Delay_Resp包中提取出時間戳信息t4[k];
[0055] 步驟111 :循環步驟,網絡中的各個從節點,分別重復前述步驟107至步驟110 ;
[0056] 步驟112:直到時間點TK,最后一個從節點(記作N)獲得媒介使用權,在該從節點 的時間點t3[N]向主節點以廣播方式回復Delay_Req時間信息包,該包也可以被相鄰節點 偵聽并接收到;
[0057] 步驟113:在時間點TL,從節點N發出的Delay_Req時間信息包到達主節點和各相 鄰節點,主節點以主時鐘為參照,獲取Delay_Req包到達主節點的時間,記作t4 [N],相鄰從 節點以各自從時鐘為參照,獲取Delay_Req包到達各從節點的時間,分別記作t5 [N];
[0058] 步驟114:在時間點TM,主節點把步驟113中獲得的接收時間戳t4[N]放入一個 Delay_Resp時間信息包,并以廣播方式發送該Delay_Resp時間信息包給所有從節點;
[0059] 步驟115:在時間點TN,該Delay_Resp時間信息包到達從節點,各個從節點從該 Delay_Resp包中提取出時間戳信息t4[N]。
[0060] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述主節點工作過程包括:
[0061] 步驟301:當同步周期到時,主節點通過發送Sync時間信息包來新一輪的同步過 程,Sync時間信息包以廣播方式開始發送,發送時主節點獲取該Sync包的發送時間tl,并 將tl放入Sync包中一起發送,
[0062] 步驟302:發送完Sync包后,主節點轉入接收模式,等待來自某個從節點的Delay_ Req時間信息包,
[0063] 步驟303:當有一個Delay_Req包達到時,獲取該Delay_Req包的接時間戳,記作 t4,
[0064] 步驟304 :主節點生成一個Delay_Resp時間信息包,并把步驟303中的時間戳 t4以及前述Delay_Res包來自哪個從節點的信息放入Delay_Resp包中,以廣播方式發送 Delay_Resp包,
[0065] 步驟305:主節點檢查本輪同步是否完成,判斷標準是(a)是否已經接收到所有從 節點的Delay_Req包,或者(b)等待是否超時,如果未完成,則轉入步驟302,等待接收下一 個從節點的Delay_Req包;如果本輪同步已經完成,則轉入下一個等待狀態,等待下一輪同 步周期到,
[0066] 步驟306:等待下一輪同步周期到,如果新一輪同步周期到,則轉入步驟301,開始 新一輪的時間同步過程。
[0067] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述從節點工作過程包括:
[0068] 步驟401:開始時,從節點i處于偵聽接收狀態,等待來自主節點的Sync時間信息 包,
[0069] 步驟402:當偵聽到來自主節點的Sync包后,在接收過程中,基于本地時鐘獲取 Sync包的接收時間戳,記作t2[i],
[0070] 步驟403:從Sync包中提取出tl信息,記作tl[i],
[0071] 步驟404;本從節點轉入發送模式,按照MAC協議規定的方式獲取無線信道使用 權,如果獲得獲得信道使用權,則轉入步驟405以發送Delay_Req包;如果未獲得信道使用 權,則轉入步驟411以偵聽接收其他節點的時間信息包,
[0072] 步驟405 :本從節點獲得了信道使用權,則向主節點發送Delay_Req時間信息包, 基于本地時鐘獲取Sync包的發送時間戳,記作t3 [i],該Delay_Req包也以廣播方式發送, 也可以被相鄰節點偵聽并接收到,
[0073] 步驟406:發送Delay_Req包完成后,轉入接收模式,等待接收主節點返回的 Delay_Resp時間信息包,
[0074] 步驟407:當來自主節點的Delay_Resp包接收完成后,提取Delay_Resp包中的時 間戳信息t4,記作t4[i],
[0075] 步驟408:從節點檢查本輪同步是否完成,判斷標準是(a)是否已經接收到所有從 節點的Delay_Req/Delay_Resp包,或者(b)本輪時間同步的包交換是否超時,如果未完成, 則轉入步驟409;如果已完成則轉入數據處理步驟413,
[0076] 步驟409:從節點檢查自己是否已經發送過Delay_Req包并成功接收了Delay_ Resp包,如果已完成,則轉入步驟410;如果未完成,則轉入步驟404,
[0077] 步驟410:從節點進入接收偵聽模式,等待截獲其他從節點與主節點之間的 Delay_Req和Delay_Resp包交換,
[0078] 步驟411 :當偵聽到來自其他從節點,設為從節點k的Delay_Req包后,在接收過 程中,基于本地時鐘獲取該Delay_Req包的接收時間戳,記作t5[k],
[0079] 步驟412:等待并接收來自主節點回復給從節點k的Delay_Resp包,接收完成后, 提取該包中的時間戳信息t4,記作t4[k],然后轉入步驟408 ;
[0080] 步驟413:數據處理步驟,從節點將截獲的相鄰從節點和主節點的時間同步信息 包中的時間戳進行線性回歸優化,獲得從節點的時鐘頻率偏差和頻率漂移的估計值,并在 同步過程中利用獲得的時鐘偏差和頻率漂移的估計值對從節點時鐘進行調整,實現時間同 步。
[0081] 所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,優選的,所 述數據處理步驟413包括:
[0082] 步驟P1,將從時鐘在TA時刻的時鐘偏差記作0 [0],0[0]為未知值,此刻從時鐘 的時間值近似為t2[i],主時鐘的時間值為tl[i] =tl;
[0083] 步驟P2,當本從節點i與主節點完成Sync,Delay_Req和Delay_Resp包交換后, 便獲得了時間戳〖1[1]42[1]43[1]和〖4[1],據此可按照下述公式計算在10時刻的從時 鐘的時鐘偏差值9 [i],即
【權利要求】
1. 一種針對無線網絡的基于IEEE1588PTP機制的時間同步改進方法,其特征在于,包 括如下步驟: 步驟1,由主節點周期性的啟動主節點和從節點之間帶有時間戳的時間信息包交換; 步驟2,若干從節點逐一與主節點進行時間信息包交換,在某一從節點未與主節點進行 時間信息包交換時,該從節點保持偵聽模式,并截獲其它相鄰從節點和主節點間以廣播方 式進行交換的時間同步信息包; 步驟3,從節點將截獲的相鄰從節點和主節點的時間同步信息包中的時間戳進行線性 回歸優化,獲得本從節點的時鐘頻率偏差和頻率漂移的估計值,并利用獲得的時鐘偏差和 頻率漂移的估計值對從節點時鐘進行調整,實現時間同步。
2. 根據權利要求1所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述步驟1包括: 步驟1-1,主節點首先發送包含發送時間戳信息的同步包(Sync); 步驟1-2,從節點接收到同步包(Sync)后,獲取同步包(Sync)的接收時間戳信息,回復 延遲請求包(Delay_Req)給主節點,并獲取延遲請求包(Delay_Req)的發送時間戳; 步驟1-3,主節點在接收到延遲請求包(Delay_Req)后,獲取延遲請求包(Delay_Req) 的接收時間戳信息,回復延遲響應包(Delay_Resp)給從節點,并把延遲請求包(Delay_ Req)的接收時間戳信息放入延遲響應包(Delay_Resp)中一起發送。當從節點未與主節點 進行延遲請求包(Delay_Req)和延遲響應包(Delay_Resp)交換時,轉入偵聽模式,截獲其 他從節點與主節點之間交換的延遲請求包(Delay_Req)和延遲響應包(Delay_Resp)及其 相應時間戳。
3. 根據權利要求2所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述步驟1包括: 步驟1A,主節點以廣播方式發送一個同步包(Sync)給全部從節點,啟動時間同步過 程; 步驟1B,主節點以本地時鐘為參照,獲取同步包(Sync)的發送時間戳tl,并將時間戳tl添加在同步包(Sync)中; 步驟1C,從節點處于接收模式,等待接收該同步包(Sync); 步驟1D,從節點在接收到主節點發送的同步包(Sync)后,以從節點本地時鐘為參照, 立刻獲取該同步包(Sync)的接收時間,記作時間戳t2; 步驟1E,從節點解析其接收到的同步包(Sync)中的數據,獲取其中的時間戳信息tl。
4. 根據權利要求2所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述步驟2包括: 步驟2A,主節點轉入接收模式,準備接收即將由從節點返回的延遲請求包(Delay_Req)包; 步驟2B,從節點轉入發送模式,準備發送一個延遲請求包(Delay_Req)消息給主節點, 并進入MAC機制所規定的無線信道爭用過程; 步驟2C,若從節點獲得了無線信道的使用權,以廣播方式向主節點發送該Delay_Req包,并以從節點本地時鐘為參照,獲取延遲請求包(Delay_Req)的發送時間戳t3,將時間戳 t3作為時間戳附加在延遲請求包(Delay_Req)中; 步驟2D,主節點在接收到延遲請求包(Delay_Req)后,以主節點本地時鐘為參照,立刻 獲取該延遲請求包(Delay_Req)的接收時間,記作時間戳t4 ;主節點轉入發送模式,將時間 戳t4附加到延遲請求包(Delay_Req)中,以廣播方式發送延遲請求包(Delay_Req)給從節 點;發送完成后,主節點轉入接收模式; 步驟2E,從節點接收延遲請求包(Delay_Req),并將時間戳t4解析出來; 步驟2F,若從節點未能獲得無線信道的使用權,從節點轉入偵聽接收模式,偵聽并截獲 其他相鄰節點發出的延遲請求包(Delay_Req)和主節點發出的帶有時間戳t4的延遲響應 包(Delay_ReSp)進行截獲;在截獲延遲請求包(Delay_Req)時,以從節點的本地時鐘為參 照,獲取延遲請求包(Delay_Req)的接收時間,記作時間戳t5;在截獲延遲響應包(Delay_ Resp)后,將延遲響應包(Delay_Resp)中的時間戳t4解析出來; 步驟2G,對于獲得了無線信道的使用權的從節點,當完成步驟2C,2D和2E后,放棄該使 用權,轉入步驟2F的偵聽模式; 步驟2H,對于未獲得無線信道的使用權的從節點,在完成步驟2F后,轉入步驟2B的發 送模式,競爭使用無線信道使用權,向主節點發送自己的延遲請求包(Delay_Req); 步驟21,主節點的包交換結束機制,當所有從節點均與主節點完成包交換后,或者在設 定時間閾值內未偵聽到任何時間信息報交換,則主節點認為本輪同步完成,結束當前包交 換過程,等待下一輪同步周期到,轉入步驟1-1 ; 步驟2J,從節點的包交換結束機制,當所有從節點均與主節點完成包交換后,或者在一 段時間閾值內未偵聽到任何時間信息報交換,則從節點認為本輪同步的包交換已經完成, 從節點退出接收偵聽模式。
5. 根據權利要求2所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述步驟3包括: 步驟3A,從節點與主節點之間包交換得到的tl,t2,t3,t4時間戳和一組通過偵聽得到 的其他鄰節點k和主節點之間包交換得到的t4[k]和t5[k]時間戳,其中k為第k個鄰接 點,若某從節點擁有N個鄰節點,則k= {1,2,…N},N為正整數,該從節點最多通過偵聽獲 取到N對{t4[k],t5[k]}時間戳,利用線性回歸優化方法,估計出從節點時鐘的時間偏差; 參照IEEE1588PTP方式從tl,t2,t3和t4中得到一個關于時鐘偏差和傳輸延遲之間的函 數關系式; 步驟3B,偵聽獲得的N對{t4[k],t5[k]}中得到N個關于偏差和傳輸延遲之間的函數 關系式; 步驟3C,運用最小二乘法對上述N+1個函數關系式進行求解,得到時鐘偏差的最優估 計值。 步驟3D,得到的時鐘偏差最優估計值后,從節點計算出的從節點時鐘的頻率漂移,得到 時鐘偏差和頻率漂移的估計值; 步驟3E,利用所得到的時鐘偏差和頻率漂移估計值,對從節點時鐘進行調整,實現時間 同步。
6. 根據權利要求1所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述時間信息包交換包括: 步驟101 :在時間點TA,主節點以廣播方式開始發送Sync時間信息包,并獲取該Sync 包的發送時間tl,并將tl放入Sync包中一起發送; 步驟102 :在時間點TB,該Sync時間信息包到達從節點,各個從節點以本地從時鐘為參 照,獲取Sync包的接收時間,由于各節點的本地從時鐘并不一致,所以Sync包的接收時間 戳的值也未一樣,因此從節點i的Sync包接收之間記作t2 [i],以此類推; 步驟103 :在時間點TC,經過一段時間的處理延遲和媒介爭用過程,從節點i獲得了媒 介的使用權,在該從節點的時間點t3[i]向主節點回復Delay_Req時間信息包,該Delay_ Req包也以廣播方式發送,也可以被相鄰節點偵聽并接收到; 步驟104 :在時間點TD,從節點i發出的Delay_Req時間信息包到達主節點和各相鄰節 點,主節點以主時鐘為參照,獲取Delay_Req包到達主節點的時間,記作t4[i],其中i表示 該Delay_Req包來自節點i,相鄰從節點以各自從時鐘為參照,獲取Delay_Req包到達各從 節點的時間,分別記作t5[i]; 步驟105 :在時間點TE,主節點經過一段時間的處理延遲后,把步驟104中獲得的接收 時間戳t4[i]放入一個Delay_Resp時間信息包,并以廣播方式發送該Delay_Resp時間信 息包給所有從節點,包括從節點i; 步驟106 :在時間點TF,該Delay_Resp時間信息包到達從節點,各個從節點從該Delay_ReSp包中提取出時間戳信息t4[i]; 步驟107,在時間點TG,另一從節點k獲得了媒介的使用權,在該從節點的時間點t3 [k] 向主節點回復Delay_Req時間信息包,該Delay_Req包也以廣播方式發送,也可以被相鄰節 點偵聽并接收到; 步驟108,在時間點TH,從節點k發出的Delay_Req時間信息包到達主節點和各相鄰節 點,主節點以主時鐘為參照,獲取Delay_Req包到達主節點的時間,記作t4 [k],其中,k表示 該Delay_Req包來自節點k;相鄰從節點以各自從時鐘為參照,獲取Delay_Req包到達各從 節點的時間,分別記作t5[k]; 步驟109 :在時間點TI,主節點經過一段時間的處理延遲后,主節點把步驟108中獲得 的接收時間戳t4[k]放入一個Delay_Resp時間信息包,并以廣播方式發送該Delay_Resp 時間信息包給所有從節點; 步驟110 :在時間點TJ,該Delay_Resp時間信息包到達從節點,各個從節點從該Delay_Resp包中提取出時間戳信息t4[k]; 步驟111 :循環步驟,網絡中的各個從節點,分別重復前述步驟107至步驟110 ; 步驟112 :直到時間點TK,最后一個從節點(記作N)獲得媒介使用權,在該從節點的時 間點t3[N]向主節點以廣播方式回復Delay_Req時間信息包,該包也可以被相鄰節點偵聽 并接收到; 步驟113 :在時間點TL,從節點N發出的Delay_Req時間信息包到達主節點和各相鄰節 點,主節點以主時鐘為參照,獲取Delay_Req包到達主節點的時間,記作t4[N],相鄰從節點 以各自從時鐘為參照,獲取Delay_Req包到達各從節點的時間,分別記作t5 [N]; 步驟114 :在時間點TM,主節點把步驟113中獲得的接收時間戳t4[N]放入一個Delay_Resp時間信息包,并以廣播方式發送該Delay_ReSp時間信息包給所有從節點; 步驟115 :在時間點TN,該Delay_Resp時間信息包到達從節點,各個從節點從該Delay_Resp包中提取出時間戳信息t4[N]。
7. 根據權利要求1所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述主節點工作過程包括: 步驟301 :當同步周期到時,主節點通過發送Sync時間信息包來新一輪的同步過程,Sync時間信息包以廣播方式開始發送,發送時主節點獲取該Sync包的發送時間tl,并將tl 放入Sync包中一起發送, 步驟302 :發送完Sync包后,主節點轉入接收模式,等待來自某個從節點的Delay_Req時間信息包, 步驟303 :當有一個Delay_Req包達到時,獲取該Delay_Req包的接時間戳,記作t4, 步驟304 :主節點生成一個Delay_Resp時間信息包,并把步驟303中的時間戳t4以及 前述Delay_Res包來自哪個從節點的信息放入Delay_Resp包中,以廣播方式發送Delay_ Resp包, 步驟305 :主節點檢查本輪同步是否完成,判斷標準是(a)是否已經接收到所有從節點 的Delay_Req包,或者(b)等待是否超時,如果未完成,則轉入步驟302,等待接收下一個從 節點的Delay_Req包;如果本輪同步已經完成,則轉入下一個等待狀態,等待下一輪同步周 期到, 步驟306 :等待下一輪同步周期到,如果新一輪同步周期到,則轉入步驟301,開始新一 輪的時間同步過程。
8. 根據權利要求1所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述從節點工作過程包括: 步驟401 :開始時,從節點i處于偵聽接收狀態,等待來自主節點的Sync時間信息包, 步驟402 :當偵聽到來自主節點的Sync包后,在接收過程中,基于本地時鐘獲取Sync包的接收時間戳,記作t2[i], 步驟403 :從Sync包中提取出tl信息,記作tl[i], 步驟404 ;本從節點轉入發送模式,按照MAC協議規定的方式獲取無線信道使用權,如 果獲得獲得信道使用權,則轉入步驟405以發送Delay_Req包;如果未獲得信道使用權,則 轉入步驟411以偵聽接收其他節點的時間信息包, 步驟405:本從節點獲得了信道使用權,則向主節點發送Delay_Req時間信息包,基于 本地時鐘獲取Sync包的發送時間戳,記作t3 [i],該Delay_Req包也以廣播方式發送,也可 以被相鄰節點偵聽并接收到, 步驟406 :發送Delay_Req包完成后,轉入接收模式,等待接收主節點返回的Delay_Resp時間信息包, 步驟407 :當來自主節點的Delay_Resp包接收完成后,提取Delay_Resp包中的時間戳 信息t4,記作t4[i], 步驟408 :從節點檢查本輪同步是否完成,判斷標準是(a)是否已經接收到所有從節點 的Delay_Req/Delay_Resp包,或者(b)本輪時間同步的包交換是否超時,如果未完成,則轉 入步驟409 ;如果已完成則轉入數據處理步驟413, 步驟409 :從節點檢查自己是否已經發送過Delay_Req包并成功接收了Delay_Resp包,如果已完成,則轉入步驟410 ;如果未完成,則轉入步驟404, 步驟410 :從節點進入接收偵聽模式,等待截獲其他從節點與主節點之間的Delay_Req 和Delay_Resp包交換, 步驟411 :當偵聽到來自其他從節點,設為從節點k的Delay_Req包后,在接收過程中, 基于本地時鐘獲取該Delay_Req包的接收時間戳,記作t5 [k], 步驟412 :等待并接收來自主節點回復給從節點k的Delay_Resp包,接收完成后,提取 該包中的時間戳信息t4,記作t4[k],然后轉入步驟408 ; 步驟413 :數據處理步驟,從節點將截獲的相鄰從節點和主節點的時間同步信息包中 的時間戳進行線性回歸優化,獲得從節點的時鐘頻率偏差和頻率漂移的估計值,并在同步 過程中利用獲得的時鐘偏差和頻率漂移的估計值對從節點時鐘進行調整,實現時間同步。
9.根據權利要求1所述的針對無線網絡的基于IEEE1588PTP機制的時間同步改進方 法,其特征在于,所述數據處理步驟413包括: 步驟Pl,將從時鐘在TA時刻的時鐘偏差記作0 [0],0 [0]為未知值,此刻從時鐘的時 間值近似為t2[i],主時鐘的時間值為tl[i] =tl; 步驟P2,當本從節點i與主節點完成Sync,Delay_Req和Delay_Resp包交換后,便獲 得了時間戳〖1[1]42[1]43[1]和〖4[1],據此可按照下述公式計算在10時刻的從時鐘的 時鐘偏差值0 [i],即
以主時鐘的角度來看,TD和TA時刻之間的時間差T[i]為T[i] = 因此0 [i]和0 [0]之間的關系用一個線性回歸方程來描述 0 [i] = 0 [0] +y?T[i] 步驟P3 :在TH時刻截獲了相鄰從節點k發出的Delay_Req包,在該時刻從時鐘的時間 值為t5[k],記該時刻的時鐘偏差為0 [k]。在稍后獲到了t4[k]后,0 [k]計算如下 0 [k] =t5[k]-t4[k] 以主時鐘的角度來看,TH和TA時刻之間的時間差T[k]為T[k] =tjy-tji] 因此0 [k]和0 [0]之間的關系用一個線性回歸方程來描述 0 [k] = 0 [0] +y?T[k]; 步驟P4,重復步驟P3,得到多個上述方程,用矩陣描述如下
對上述方程組采用最小二乘法求解,可以得到對0 [〇]和Y的一個最優估計,
上式中,上標T表示矩陣轉置,上標-1表示矩陣求逆。 步驟P5,時鐘校正,將時鐘偏差和頻率漂移的最優估計值r用于對時鐘的校正。
【文檔編號】H04W56/00GK104507156SQ201410787648
【公開日】2015年4月8日 申請日期:2014年12月17日 優先權日:2014年12月17日
【發明者】代學武, 龍正吉, 李太華 申請人:西南大學