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