專(zhuān)利名稱(chēng):一種無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種時(shí)間同步方法,尤其是一種無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方法,屬于 無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
無(wú)線傳感器網(wǎng)絡(luò)是由大量傳感器節(jié)點(diǎn)以自組織方式構(gòu)成的多跳無(wú)線網(wǎng)絡(luò)系統(tǒng),其 目的是協(xié)同地感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)被監(jiān)測(cè)對(duì)象的信息,并發(fā)送給終端用 戶(hù)。無(wú)線傳感器網(wǎng)絡(luò)融合了傳感技術(shù)、嵌入式技術(shù)、無(wú)線通信技術(shù)和智能信息處理等技術(shù), 具有規(guī)模大、成本低、組網(wǎng)靈活等特點(diǎn),已經(jīng)廣泛應(yīng)用于軍事、工業(yè)、農(nóng)業(yè)和醫(yī)療等領(lǐng)域。時(shí)間同步是無(wú)線傳感器網(wǎng)絡(luò)重要的支撐技術(shù)之一,在無(wú)線傳感器網(wǎng)絡(luò)的整個(gè)技術(shù) 體系中發(fā)揮著重要的作用。無(wú)線傳感器網(wǎng)絡(luò)中的許多功能和服務(wù)是與時(shí)間緊密相關(guān)的,例 如多節(jié)點(diǎn)協(xié)同跟蹤、數(shù)據(jù)處理與融合、基于TDMA的通信協(xié)議、節(jié)點(diǎn)休眠調(diào)度以及聲音測(cè)距 定位等等。無(wú)線傳感器網(wǎng)絡(luò)是一個(gè)分布式系統(tǒng),各節(jié)點(diǎn)由于硬件特性和工作環(huán)境的不同,本 地時(shí)鐘往往會(huì)偏離基準(zhǔn)時(shí)鐘,這給時(shí)間敏感的上層技術(shù)和服務(wù)帶來(lái)了挑戰(zhàn)。研究設(shè)計(jì)有效 的時(shí)間同步技術(shù)對(duì)全網(wǎng)結(jié)點(diǎn)進(jìn)行周期性或者即時(shí)性的同步,是保證無(wú)線傳感器網(wǎng)絡(luò)穩(wěn)定工 作的重要條件?,F(xiàn)有的時(shí)間同步協(xié)議和算法大多注重于提高同步精度,例如RBS (Reference Broadcast Synchronization)協(xié)、議 禾口 TPSN(Timing—sync Protocol for Sensor Networks)協(xié)議在伯克利節(jié)點(diǎn)平臺(tái)上(Berkeley Motes)的單跳平均同步誤差分別為 29. 13 μ s 禾口 16. 9 μ s, FTPS (Flooding Time Synchronization Protocol) 辦議在 Mica2 平 臺(tái)上甚至達(dá)到了微秒級(jí)的同步精度。這些協(xié)議雖然在同步精度方面具有很好的性能,但需 要頻繁地執(zhí)行同步協(xié)議來(lái)保持同步精度,因此在實(shí)際系統(tǒng)中的性能并不理想。頻繁地執(zhí)行 時(shí)間同步算法不僅大量消耗節(jié)點(diǎn)有限的能量,而且還會(huì)擠占網(wǎng)絡(luò)的信道資源,影響傳感器 網(wǎng)絡(luò)的正常工作。因此,在滿足一定精度需求的前提下降低同步算法的執(zhí)行頻率,對(duì)于傳感 器網(wǎng)絡(luò)的節(jié)能和帶寬資源的有效利用都具有重要意義。傳感器節(jié)點(diǎn)的計(jì)時(shí)裝置中通常包含一個(gè)晶體振蕩器和一個(gè)計(jì)數(shù)寄存器,晶體振蕩 器每輸出一個(gè)振蕩脈沖,計(jì)數(shù)寄存器的計(jì)數(shù)值就增加1。讀取計(jì)數(shù)寄存器的值并經(jīng)過(guò)一定的 換算處理,就能得到節(jié)點(diǎn)的本地時(shí)間,通常將該時(shí)間稱(chēng)為硬件時(shí)間。由于計(jì)時(shí)裝置中晶振的 實(shí)際工作頻率與標(biāo)稱(chēng)頻率存在偏差,節(jié)點(diǎn)的硬件時(shí)間通常會(huì)偏離標(biāo)準(zhǔn)時(shí)間,因此需要對(duì)硬 件時(shí)間進(jìn)行必要的修正,經(jīng)過(guò)修正后的時(shí)間稱(chēng)為邏輯時(shí)間。普通晶振的精度約為40ppm左 右,即最壞情況下每秒可產(chǎn)生40 μ s的計(jì)時(shí)偏差,更為嚴(yán)重的是,晶振的頻率會(huì)因?yàn)榄h(huán)境溫 度、供電電壓、空氣壓力以及晶體老化等因素的影響而動(dòng)態(tài)變化。盡管一些硬件技術(shù)(例如 溫度補(bǔ)償晶體振蕩器)可以解決晶振的頻率偏斜問(wèn)題,但它們并不適合資源和成本受限的 傳感器網(wǎng)絡(luò)。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明的目的在于提供一種基于預(yù)測(cè)校準(zhǔn)的無(wú) 線傳感器網(wǎng)絡(luò)長(zhǎng)周期時(shí)間同步方法(A Self-calibration based Long-interval Time Synchronization),簡(jiǎn)稱(chēng)SLTS。本發(fā)明通過(guò)非硬件的方式,即根據(jù)晶振的頻率特性來(lái)校準(zhǔn)節(jié) 點(diǎn)的邏輯時(shí)間,使節(jié)點(diǎn)的計(jì)時(shí)偏差在較長(zhǎng)時(shí)間內(nèi)限定在誤差允許范圍內(nèi),達(dá)到降低同步算 法的執(zhí)行頻率。本發(fā)明的技術(shù)方案為一種無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方法,其步驟為1)中心節(jié)點(diǎn)以設(shè)定的時(shí)間間隔向網(wǎng)絡(luò)廣播同步信息,啟動(dòng)同步過(guò)程;所述同步信 息包括前導(dǎo)碼、預(yù)告消息和同步報(bào)文;2)傳感器節(jié)點(diǎn)收到同步信息后,與該同步信息的來(lái)源節(jié)點(diǎn)進(jìn)行時(shí)間同步,并在信 道空閑時(shí)向網(wǎng)絡(luò)廣播自己的同步信息;3)在每一次同步過(guò)程結(jié)束后,傳感器節(jié)點(diǎn)采用溫特斯法預(yù)測(cè)自身配置的晶體振蕩 器在當(dāng)前周期內(nèi)的工作頻率,并根據(jù)預(yù)測(cè)結(jié)果校準(zhǔn)自己的邏輯時(shí)間,直至下一輪同步過(guò)程 開(kāi)始為止。進(jìn)一步的,所述同步報(bào)文包含前導(dǎo)碼的發(fā)送時(shí)間、周期同步的時(shí)間間隔、本次周期同 步的啟動(dòng)時(shí)間、同步報(bào)文的序列號(hào)、發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)以及該同步報(bào)文的時(shí)間級(jí)別等信息。進(jìn)一步的,所述同步信息的發(fā)送方法為1)發(fā)送節(jié)點(diǎn)依次向網(wǎng)絡(luò)發(fā)送前導(dǎo)碼、預(yù)告消息,并記錄發(fā)送前導(dǎo)碼的時(shí)間、;然后 將、寫(xiě)入同步報(bào)文中發(fā)送給接收節(jié)點(diǎn);2)接收節(jié)點(diǎn)接收完前導(dǎo)碼時(shí)記錄本地時(shí)間t2,然后繼續(xù)接收預(yù)告消息和同步報(bào) 文;3)接收節(jié)點(diǎn)從收到的同步報(bào)文中提取時(shí)間、,并在t3時(shí)刻將自身的邏輯時(shí)間修正 為 t' 3 = t3-(t2-t1-n τ );其中,η為前導(dǎo)碼包含的比特位數(shù)、τ為發(fā)送每個(gè)比特位需要的時(shí)間;預(yù)告消息包 括發(fā)送節(jié)點(diǎn)的序列號(hào)、發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。進(jìn)一步的,接收節(jié)點(diǎn)收到預(yù)告消息后,在設(shè)定的時(shí)間長(zhǎng)度內(nèi)保持接收狀態(tài)。進(jìn)一步的,接收節(jié)點(diǎn)接收到的同步報(bào)文后,檢查同步報(bào)文中的節(jié)點(diǎn)編號(hào)和序列號(hào) 與預(yù)告消息中的節(jié)點(diǎn)編號(hào)和序列號(hào)是否對(duì)應(yīng)一致;如果一致,則接收節(jié)點(diǎn)根據(jù)同步信息修 正自己的邏輯時(shí)間;否則丟棄收到的同步信息,繼續(xù)偵聽(tīng)接收同步信息。進(jìn)一步的,當(dāng)一個(gè)節(jié)點(diǎn)收到多個(gè)發(fā)送節(jié)點(diǎn)的同步信息時(shí),該節(jié)點(diǎn)選擇時(shí)間級(jí)別低 的同步信息修正自己的邏輯時(shí)間。進(jìn)一步的,傳感器節(jié)點(diǎn)在首輪同步后,設(shè)置一個(gè)與所述同步信息中的周期同步時(shí) 間間隔相等的定時(shí)器。進(jìn)一步的,如果定時(shí)器到時(shí),則節(jié)點(diǎn)開(kāi)始檢測(cè)信道中的前導(dǎo)碼和預(yù)告消息;否則節(jié) 點(diǎn)繼續(xù)采用溫特斯法預(yù)測(cè)自身配置的晶體振蕩器在當(dāng)前周期內(nèi)的實(shí)際工作頻率,并根據(jù)預(yù) 測(cè)結(jié)果校準(zhǔn)自己的邏輯時(shí)間。本發(fā)明基于預(yù)測(cè)校準(zhǔn)的無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方法采用周期同步和預(yù)測(cè)校準(zhǔn) 相結(jié)合的方式來(lái)對(duì)全網(wǎng)節(jié)點(diǎn)進(jìn)行同步。該方法的周期同步采用預(yù)告消息機(jī)制來(lái)實(shí)現(xiàn),而預(yù)測(cè)校準(zhǔn)則是在周期同步的間歇期間,各節(jié)點(diǎn)根據(jù)晶體振蕩器的頻率特性來(lái)修正自己的邏輯 時(shí)間,盡可能與標(biāo)準(zhǔn)時(shí)間保持一致,從而延長(zhǎng)周期同步的時(shí)間間隔?;陬A(yù)測(cè)校準(zhǔn)的無(wú)線傳感器網(wǎng)絡(luò)長(zhǎng)周期時(shí)間同步方法包括以下兩個(gè)主要步驟1)周期同步的間隔時(shí)間到時(shí)后,Sink節(jié)點(diǎn)將自己的時(shí)間級(jí)別設(shè)置為0級(jí),然后向 網(wǎng)絡(luò)廣播自己當(dāng)前的時(shí)間信息,啟動(dòng)全網(wǎng)同步過(guò)程;傳感器節(jié)點(diǎn)接收到時(shí)間級(jí)別為1級(jí)的 同步信息后,首先與同步信息的來(lái)源節(jié)點(diǎn)實(shí)現(xiàn)同步,然后將自己的時(shí)間級(jí)別設(shè)置為1+1級(jí), 在檢測(cè)到信道空時(shí)向網(wǎng)絡(luò)廣播自己的同步信息對(duì)其它節(jié)點(diǎn)進(jìn)行同步。依此類(lèi)推,直至全網(wǎng) 節(jié)點(diǎn)都實(shí)現(xiàn)同步為止(見(jiàn)圖2)。2)周期同步結(jié)束后,傳感器節(jié)點(diǎn)采用溫特斯法來(lái)預(yù)測(cè)自身配置的晶體振蕩器在當(dāng) 前周期內(nèi)的實(shí)際工作頻率,并根據(jù)預(yù)測(cè)結(jié)果來(lái)校準(zhǔn)自己的邏輯時(shí)間,盡可能與標(biāo)準(zhǔn)時(shí)間保 持一致,直至下一輪周期同步開(kāi)始為止。周期同步過(guò)程中,節(jié)點(diǎn)之間的同步采用預(yù)告消息機(jī)制來(lái)實(shí)現(xiàn),如圖3所示發(fā)送節(jié) 點(diǎn)獲得信道使用權(quán)后向接收節(jié)點(diǎn)發(fā)送前導(dǎo)碼和預(yù)告消息(Notice Message),并記錄下發(fā)送 前導(dǎo)碼的開(kāi)始時(shí)間、;接收節(jié)點(diǎn)接收完前導(dǎo)碼時(shí)記錄本地時(shí)間t2,然后繼續(xù)接收預(yù)告消息; 發(fā)送節(jié)點(diǎn)稍后將前導(dǎo)碼的開(kāi)始時(shí)間、寫(xiě)入同步報(bào)文(Sync Message)中發(fā)送給接收節(jié)點(diǎn); 接收節(jié)點(diǎn)對(duì)收到的同步報(bào)文進(jìn)行解碼,提取里面的時(shí)間、,處理完同步報(bào)文后,在t3時(shí)刻將 自身的邏輯時(shí)間修正為t' 3 =、-(、-、-!! τ) (η為前導(dǎo)碼包含的比特位數(shù),τ為發(fā)送每 個(gè)比特位需要的時(shí)間,兩者均為系統(tǒng)預(yù)先設(shè)定好的確定值,t3為處理完同步報(bào)文后的某個(gè) 時(shí)刻)。前導(dǎo)碼是一段固定長(zhǎng)度的0、1交錯(cuò)比特流,在尾端附有幀首定界符,標(biāo)志正式數(shù) 據(jù)的開(kāi)始。預(yù)告消息和同步報(bào)文的格式見(jiàn)圖4和圖5,其中SEQ表示報(bào)文的序列號(hào),Time level表示發(fā)送節(jié)點(diǎn)的時(shí)間級(jí)別,Sending time表示發(fā)送節(jié)點(diǎn)開(kāi)始發(fā)送前導(dǎo)碼的時(shí)間, Starting time表示本輪周期同步的啟動(dòng)時(shí)間,Sync time表示周期同步的間隔時(shí)間。前導(dǎo)碼的作用是使接收節(jié)點(diǎn)做好接收數(shù)據(jù)的準(zhǔn)備;預(yù)告消息的作用是宣告發(fā)送節(jié) 點(diǎn)的身份信息,并使周?chē)?jié)點(diǎn)在稍后的一定時(shí)間內(nèi)保持接收狀態(tài),避免不必要的信道競(jìng)爭(zhēng), 保證發(fā)送節(jié)點(diǎn)以較高的優(yōu)先級(jí)再次獲得信道使用權(quán);同步報(bào)文的作用則是將周期同步的具 體參數(shù)和一些重要的時(shí)間信息傳送給接收節(jié)點(diǎn),使之能夠根據(jù)這些信息校準(zhǔn)自己的邏輯時(shí) 間,并在后續(xù)時(shí)刻生成自己的同步報(bào)文對(duì)其它節(jié)點(diǎn)進(jìn)行同步。節(jié)點(diǎn)校準(zhǔn)自身的邏輯時(shí)間首先需要獲取當(dāng)前時(shí)刻晶振的實(shí)際工作頻率。由于節(jié)點(diǎn) 本身不具備實(shí)時(shí)探測(cè)晶振頻率的能力,本發(fā)明根據(jù)晶振的頻率特性,采用溫特斯法來(lái)預(yù)測(cè) 晶振的當(dāng)前工作頻率。溫特斯法是針對(duì)具有長(zhǎng)期趨勢(shì)、周期性變動(dòng)和不規(guī)則波動(dòng)的時(shí)間序 列,把因素分析與指數(shù)平滑法結(jié)合起來(lái)的預(yù)測(cè)方法。傳感器節(jié)點(diǎn)的晶振頻率具備溫特斯法 所要求的三個(gè)特征,即長(zhǎng)期趨勢(shì)、周期性變動(dòng)和不規(guī)則波動(dòng),因此在獲得晶振頻率歷史數(shù)據(jù) 的前提下,可以利用溫特斯法來(lái)預(yù)測(cè)節(jié)點(diǎn)當(dāng)前以及后續(xù)時(shí)刻的晶振頻率。溫特斯法運(yùn)用3 個(gè)平滑方程式,分別對(duì)節(jié)點(diǎn)晶振頻率的長(zhǎng)期趨勢(shì)S、趨勢(shì)增量b和周期變動(dòng)F作指數(shù)平滑,然 后把3個(gè)平滑結(jié)果用一個(gè)預(yù)測(cè)公式結(jié)合起來(lái),進(jìn)行外推預(yù)測(cè)。溫特斯法的3個(gè)平滑方程如 下
bk=fi{Sk-Sk_^) + {\-fi)bk_x(1-1)
其中η表示將一天時(shí)間劃分為η個(gè)時(shí)段(一天時(shí)間內(nèi)執(zhí)行η次周期同步);fk表示 節(jié)點(diǎn)在第k個(gè)時(shí)段的平均晶振頻率;α、β和γ為指數(shù)平滑系數(shù),取值在0 1之間。式 (1-1)中第一個(gè)方程的意義是消除晶振頻率的不規(guī)則波動(dòng)和周期性變動(dòng),反映長(zhǎng)期趨勢(shì); 第二個(gè)方程是對(duì)晶振頻率變化的趨勢(shì)增量作指數(shù)平滑;第三個(gè)方程的意義是消除晶振頻率 變化的長(zhǎng)期趨勢(shì)和不規(guī)則波動(dòng),反映晶振頻率的周期性變動(dòng)。采用溫特斯法對(duì)節(jié)點(diǎn)晶振頻率進(jìn)行預(yù)測(cè),需要獲取節(jié)點(diǎn)前一段時(shí)期晶振頻率的 歷史數(shù)據(jù)。本發(fā)明采用如下方法獲取晶振頻率的歷史數(shù)據(jù)各傳感器節(jié)點(diǎn)記錄Sink節(jié)點(diǎn) 啟動(dòng)各次周期同步的標(biāo)準(zhǔn)時(shí)間Ttl,T1,…,Tk,以及該節(jié)點(diǎn)實(shí)現(xiàn)同步時(shí)的硬件時(shí)間HiUtl), HiU1),…,Hi (tk)和邏輯時(shí)間Li(OUt1),…,Li (tk),其中t。,、,…,tk為節(jié)點(diǎn)實(shí)現(xiàn)同 步時(shí)的標(biāo)準(zhǔn)時(shí)間,那么節(jié)點(diǎn)在時(shí)間段[Ttl, T1], [T1, T2],…,[V1, TJ內(nèi)的平均晶振頻率可 以近似表示為fjdm’ U = U,-,k)(1-2)其中&表示晶振的標(biāo)稱(chēng)頻率,fj表示晶振在第j個(gè)時(shí)段的平均頻率。獲得2天時(shí)間內(nèi)2η個(gè)時(shí)段的晶振頻率數(shù)據(jù){f1;f2,…,f2n}后,可以利用式(1_1)
計(jì)算出各個(gè)時(shí)段的S、F和b,進(jìn)而按照溫特斯法的預(yù)測(cè)公式計(jì)算當(dāng)前時(shí)段的晶振頻率/,再
根據(jù)晶振頻率的預(yù)測(cè)結(jié)果來(lái)校準(zhǔn)節(jié)點(diǎn)的邏輯時(shí)間。具體步驟如下1)選定指數(shù)平滑系數(shù)α、β和Y的初值;2)計(jì)算長(zhǎng)期趨勢(shì)、趨勢(shì)增量和周期變動(dòng)的初始值,計(jì)算公式分別為Sn+1 = fn+1,
一 ι rt+Ιη-
巧 二力其中」=1,2,-,η+1,7 = —Σ^)以及‘廣力)]/[_-1)];3)使用遞推公式計(jì)算其它時(shí)段的Sn+i、Fn+i和bn+i (2 ^ i ^ 2n);4)使用預(yù)測(cè)公式/4+m巧__對(duì)節(jié)點(diǎn)后續(xù)時(shí)段的晶振頻率進(jìn)行預(yù)測(cè)(k =2n, 1 ^ m ^ η);
A5)計(jì)算當(dāng)前時(shí)刻的邏輯時(shí)間,公式為=找(&)] +厶(4),以此結(jié)果
Jo
對(duì)節(jié)點(diǎn)時(shí)間進(jìn)行校準(zhǔn)。(其中Hi(tk)和Li(tk)分別表示節(jié)點(diǎn)在tk時(shí)刻實(shí)現(xiàn)同步時(shí)的硬件時(shí) 間和邏輯時(shí)間,Hi (t)表示節(jié)點(diǎn)當(dāng)前時(shí)刻的硬件時(shí)間)。和現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)勢(shì)在于1、周期同步過(guò)程采用一種預(yù)告消息機(jī)制來(lái)實(shí)現(xiàn),消除了報(bào)文發(fā)送過(guò)程中的硬件延 遲誤差,提高了節(jié)點(diǎn)對(duì)之間的同步精度。該機(jī)制的實(shí)現(xiàn)不要求傳感器節(jié)點(diǎn)配置高性能的處 理芯片,具有很好的通用性。2、周期同步的間歇期間,傳感器節(jié)點(diǎn)采用溫特斯法來(lái)預(yù)測(cè)晶振的實(shí)際頻率,并根據(jù)預(yù)測(cè)結(jié)果來(lái)修正自己的邏輯時(shí)間,可以大幅地延長(zhǎng)周期同步的時(shí)間間隔,顯著地降低同 步開(kāi)銷(xiāo)和對(duì)無(wú)線信道的占用。 3、本發(fā)明提供的同步方法不需要傳感器網(wǎng)絡(luò)增加額外的硬件,能夠方便地應(yīng)用到 各類(lèi)無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)中。
圖1時(shí)間同步方法的流程圖
圖2全網(wǎng)同步過(guò)程示意圖3節(jié)點(diǎn)對(duì)之間的同步過(guò)程
圖4預(yù)告消息的格式;
圖5同步報(bào)文的格式;
圖6實(shí)驗(yàn)的網(wǎng)絡(luò)拓?fù)洹?br>
具體實(shí)施例方式下面參照附圖并結(jié)合實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的描述。本實(shí)施例提供一個(gè)采用本發(fā)明方法的無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步實(shí)例。在本實(shí)施例中,傳感器節(jié)點(diǎn)選用克爾斯博公司生產(chǎn)的Mica2系列節(jié)點(diǎn)。Mica2節(jié) 點(diǎn)的通信頻率為868/916MHZ,數(shù)據(jù)傳輸率38. 4Kbps,室外通信距離約為150m,其配置的晶 振標(biāo)稱(chēng)頻率為7. 37MHz,經(jīng)過(guò)1/8分頻后得到921KHz的時(shí)鐘頻率。實(shí)施例中將20個(gè)Mica2 節(jié)點(diǎn)部署在露天環(huán)境下,形成20跳的線性網(wǎng)絡(luò)。參照?qǐng)D1,本實(shí)施例的具體過(guò)程如下l)Sink節(jié)點(diǎn)以固定的時(shí)間間隔啟動(dòng)周期同步過(guò)程,向網(wǎng)絡(luò)廣播自己的時(shí)間信息和 周期同步的時(shí)間間隔、啟動(dòng)時(shí)間以及序列號(hào)、節(jié)點(diǎn)編號(hào)、時(shí)間級(jí)別等參數(shù)信息;2)傳感器節(jié)點(diǎn)在首輪周期同步過(guò)后,設(shè)置一個(gè)與周期同步間隔時(shí)間相等的定時(shí) 器。如果定時(shí)器到時(shí),則節(jié)點(diǎn)進(jìn)入新一輪周期同步狀態(tài),開(kāi)始檢測(cè)信道中的前導(dǎo)碼和預(yù)告消 息;否則繼續(xù)采用溫特斯法來(lái)預(yù)測(cè)校準(zhǔn)邏輯時(shí)間;3)傳感器節(jié)點(diǎn)接收到的同步報(bào)文后,檢查同步報(bào)文和預(yù)告消息中的節(jié)點(diǎn)編號(hào)和序 列號(hào)是否一致。如果一致,則節(jié)點(diǎn)根據(jù)同步報(bào)文中嵌入的前導(dǎo)碼的發(fā)送時(shí)間信息修正自己 的邏輯時(shí)間;否則丟棄收到的同步報(bào)文,繼續(xù)偵聽(tīng)接收同步報(bào)文;時(shí)間級(jí)別的作用是記錄 同步的跳數(shù),由于傳感器網(wǎng)絡(luò)中,時(shí)間同步是逐跳進(jìn)行的,隨著跳數(shù)的增加,累積誤差也就 越來(lái)越大,當(dāng)一個(gè)節(jié)點(diǎn)收到多個(gè)鄰居節(jié)點(diǎn)發(fā)送的同步報(bào)文時(shí),盡可能選擇時(shí)間級(jí)別低的同 步報(bào)文來(lái)修正自己的邏輯時(shí)間,從而降低同步誤差。4)傳感器節(jié)點(diǎn)實(shí)現(xiàn)同步后,調(diào)整自己的時(shí)間級(jí)別,并在網(wǎng)絡(luò)信道空閑時(shí)廣播自己 的時(shí)間信息對(duì)其它節(jié)點(diǎn)進(jìn)行同步。
權(quán)利要求
一種無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方法,其步驟為1)中心節(jié)點(diǎn)以設(shè)定的時(shí)間間隔向網(wǎng)絡(luò)廣播同步信息,啟動(dòng)同步過(guò)程;所述同步信息包含前導(dǎo)碼、預(yù)告消息和同步報(bào)文;2)傳感器節(jié)點(diǎn)收到同步信息后,與該同步信息的來(lái)源節(jié)點(diǎn)進(jìn)行時(shí)間同步,并在信道空閑時(shí)向網(wǎng)絡(luò)廣播自己的同步信息;3)在每一次同步過(guò)程結(jié)束后,傳感器節(jié)點(diǎn)采用溫特斯法預(yù)測(cè)自身配置的晶體振蕩器在當(dāng)前周期內(nèi)的工作頻率,并根據(jù)預(yù)測(cè)結(jié)果校準(zhǔn)自己的邏輯時(shí)間,直至下一輪同步過(guò)程開(kāi)始為止。
2.如權(quán)利要求1所述的方法,其特征在于所述同步報(bào)文包括前導(dǎo)碼的發(fā)送時(shí)間、周期 同步的時(shí)間間隔、本次周期同步的啟動(dòng)時(shí)間、同步報(bào)文的序列號(hào)、發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。
3.如權(quán)利要求1或2所述的方法,其特征在于所述同步信息的發(fā)送方法為1)發(fā)送節(jié)點(diǎn)依次向網(wǎng)絡(luò)發(fā)送前導(dǎo)碼、預(yù)告消息,并記錄發(fā)送前導(dǎo)碼的時(shí)間、;然后將、 寫(xiě)入同步報(bào)文中發(fā)送給接收節(jié)點(diǎn);2)接收節(jié)點(diǎn)接收完前導(dǎo)碼時(shí)記錄本地時(shí)間t2,然后繼續(xù)接收預(yù)告消息和同步報(bào)文;3)接收節(jié)點(diǎn)從收到的同步報(bào)文中提取時(shí)間、,并在t3時(shí)刻將自身的邏輯時(shí)間修正為 t ‘ 3 = t3~(t2-t1-n τ );其中,η為前導(dǎo)碼包含的比特位數(shù)、τ為發(fā)送每個(gè)比特位需要的時(shí)間;預(yù)告消息包括發(fā) 送節(jié)點(diǎn)的序列號(hào)、發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。
4.如權(quán)利要求3所述的方法,其特征在于所述同步信息還包括發(fā)送節(jié)點(diǎn)的時(shí)間級(jí)別, 所述時(shí)間級(jí)別用于記錄同步的跳數(shù)。
5.如權(quán)利要求4所述的方法,其特征在于當(dāng)一個(gè)節(jié)點(diǎn)收到多個(gè)發(fā)送節(jié)點(diǎn)的同步信息 時(shí),該節(jié)點(diǎn)選擇時(shí)間級(jí)別低的同步信息修正自己的邏輯時(shí)間。
6.如權(quán)利要求3所述的方法,其特征在于接收節(jié)點(diǎn)收到預(yù)告消息后,在設(shè)定的時(shí)間長(zhǎng) 度內(nèi)保持接收狀態(tài)。
7.如權(quán)利要求6所述的方法,其特征在于接收節(jié)點(diǎn)接收到的同步報(bào)文后,檢查同步報(bào) 文中的節(jié)點(diǎn)編號(hào)和序列號(hào)與預(yù)告消息中的節(jié)點(diǎn)編號(hào)和序列號(hào)是否對(duì)應(yīng)一致;如果一致,則 接收節(jié)點(diǎn)根據(jù)同步信息修正自己的邏輯時(shí)間;否則丟棄收到的同步信息,繼續(xù)偵聽(tīng)接收同步信息。
8.如權(quán)利要求3所述的方法,其特征在于傳感器節(jié)點(diǎn)在首輪同步后,設(shè)置一個(gè)與所述 同步信息中的周期同步時(shí)間間隔相等的定時(shí)器。
9.如權(quán)利要求8所述的方法,其特征在于如果定時(shí)器到時(shí),則節(jié)點(diǎn)開(kāi)始檢測(cè)信道中的 前導(dǎo)碼和預(yù)告消息;否則節(jié)點(diǎn)繼續(xù)采用溫特斯法預(yù)測(cè)自身配置的晶體振蕩器在當(dāng)前周期內(nèi) 的實(shí)際工作頻率,并根據(jù)預(yù)測(cè)結(jié)果校準(zhǔn)自己的邏輯時(shí)間。全文摘要
本發(fā)明公開(kāi)了一種無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方法,屬于無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域。本發(fā)明的方法為1)中心節(jié)點(diǎn)以設(shè)定的時(shí)間間隔向網(wǎng)絡(luò)廣播同步信息,啟動(dòng)同步過(guò)程;2)傳感器節(jié)點(diǎn)收到同步信息后,與該同步信息的來(lái)源節(jié)點(diǎn)進(jìn)行時(shí)間同步,并在信道空閑時(shí)向網(wǎng)絡(luò)廣播自己的同步信息;3)在每一次同步過(guò)程結(jié)束后,傳感器節(jié)點(diǎn)采用溫特斯法預(yù)測(cè)自身配置的晶體振蕩器在當(dāng)前周期內(nèi)的工作頻率,并根據(jù)預(yù)測(cè)結(jié)果校準(zhǔn)自己的邏輯時(shí)間,直至下一輪同步過(guò)程開(kāi)始為止。與現(xiàn)有技術(shù)相比,本發(fā)明可以大幅地延長(zhǎng)周期同步的時(shí)間間隔,顯著地降低同步開(kāi)銷(xiāo)和對(duì)無(wú)線信道的占用,同時(shí)提高了節(jié)點(diǎn)之間的同步精度。
文檔編號(hào)H04W56/00GK101883420SQ20101021916
公開(kāi)日2010年11月10日 申請(qǐng)日期2010年6月25日 優(yōu)先權(quán)日2010年6月25日
發(fā)明者劉燕, 孫利民, 朱紅松, 蔣文濤 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所