引言
無線傳感器網(wǎng)絡(luò)是由密集型、低成本、隨機(jī)分布的節(jié)點(diǎn)組成,集成了傳感器技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù),能夠協(xié)同地實(shí)時(shí)監(jiān)測(cè)、感知并采集各種環(huán)境的數(shù)據(jù),適用于戰(zhàn)場(chǎng)通信、搶險(xiǎn)救災(zāi)和公共集會(huì)等突發(fā)性、臨時(shí)性場(chǎng)合。保持節(jié)點(diǎn)之間時(shí)間上的同步在無線傳感器網(wǎng)絡(luò)中非常重要,它是保證可靠的數(shù)據(jù)傳輸、精確的節(jié)點(diǎn)定位、可靠的數(shù)據(jù)融合、準(zhǔn)確的目標(biāo)跟蹤與檢測(cè)的前提。如利用波的到達(dá)時(shí)間差測(cè)距,就需要高精度的時(shí)間同步。無線傳感器網(wǎng)絡(luò)中,由于頻率漂移,各個(gè)節(jié)點(diǎn)之間必然會(huì)產(chǎn)生一定的時(shí)鐘偏移,因此有效的時(shí)間同步技術(shù)對(duì)保證各個(gè)節(jié)點(diǎn)之間的時(shí)鐘同步非常重要[2]。
2002年,Elson等人在影響未來網(wǎng)絡(luò)研究發(fā)展方向的國際權(quán)威學(xué)術(shù)會(huì)議HotNets上,首次提出無線傳感器網(wǎng)絡(luò)時(shí)間同步的研究課題,至今已有相當(dāng)多的典型時(shí)間同步算法。基于發(fā)送者接收者的雙向同步算法中,比較典型的如TPSN(Timingsync Protocol for Sensor Networks)算法[3]。TPSN算法分成兩個(gè)階段,第一階段為層次發(fā)現(xiàn)階段,第二階段為同步階段。在同步階段采用發(fā)送者接收者的雙向成對(duì)同步算法, MAC層采用加入時(shí)間戳的技術(shù),進(jìn)而估算出節(jié)點(diǎn)之間的傳輸延遲與時(shí)鐘偏移。該作者在Mica 節(jié)點(diǎn)上測(cè)試過,TPSN平均單跳誤差為17.61 μs。基于發(fā)送者接收者的單向時(shí)間同步算法中,比較典型的如FTSP(Flooding Time Synchronization Protocol)算法[4]、DMTS(Delay Measurement Time Synchronization)算法[5]。基于接收者接收者的同步算法,典型的有RBS(Reference Broadcast Synchronization)算法[6]。近幾年,也有作者提出了協(xié)作同步機(jī)制[7]。協(xié)作同步的核心思想仍然是屬于集中式協(xié)議,要求整個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)密度較高。參考文獻(xiàn)[8]中,作者提出了分步式同步機(jī)制,整個(gè)網(wǎng)絡(luò)無需構(gòu)造由根節(jié)點(diǎn)發(fā)起的生成樹,只需要每個(gè)節(jié)點(diǎn)之間使用分布式廣播同步機(jī)制。
傳統(tǒng)的同步機(jī)制只是簡單地修正節(jié)點(diǎn)之間的時(shí)鐘偏移,傳感器節(jié)點(diǎn)時(shí)鐘由晶體振蕩器驅(qū)動(dòng)。晶體振蕩器的實(shí)際頻率通常與它標(biāo)定的頻率之間存在一定的偏移,即存在時(shí)鐘頻率的漂移。傳統(tǒng)的同步算法為了提高同步精度,節(jié)點(diǎn)就必須頻繁地重復(fù)時(shí)間同步算法,以消除時(shí)鐘偏移的影響。頻繁地交換消息,必然給功耗受限的節(jié)點(diǎn)帶來額外的負(fù)擔(dān),因此考慮節(jié)點(diǎn)之間的時(shí)鐘漂移也是非常重要的[9]。
1 、CDCO時(shí)鐘同步算法設(shè)計(jì)
1.1 時(shí)鐘模型
本同步算法采用的是發(fā)送者接收者的雙向同步算法,同時(shí)考慮了時(shí)鐘漂移與偏移對(duì)同步精度的影響。在無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)中,如果采用的是時(shí)鐘速率恒定模型,那么節(jié)點(diǎn)的硬件時(shí)鐘Ci(t)與真實(shí)時(shí)間Ck(t)的關(guān)系可以表示為Ci(t)=aik·Ck(t)+mik。式中,aik為節(jié)點(diǎn)之間的相對(duì)漂移量,mik為節(jié)點(diǎn)之間的相對(duì)偏移量。如果兩個(gè)節(jié)點(diǎn)之間完全同步,則相對(duì)漂移量aik為1,相對(duì)偏移量mik為0。
1.2 單跳同步原理
如圖1所示,hi(t1)、hi(t4)、hi(t5)用來記錄參考節(jié)點(diǎn)的本地時(shí)間, hk(t2)、hk(t3)、hk(t6)用來記錄同步節(jié)點(diǎn)的本地時(shí)間。同步過程采用類似TPSN算法的雙向同步過程,假設(shè)同步節(jié)點(diǎn)與參考節(jié)點(diǎn)的時(shí)鐘關(guān)系采用時(shí)鐘恒定模型(這在現(xiàn)實(shí)中也是合理的),則hk(t)=ρki·hi(t)+mki。式中,hk(t)、hi(t)分別為同步節(jié)點(diǎn)與參考節(jié)點(diǎn)在本地時(shí)刻t的時(shí)鐘,ρki、mki分別為時(shí)鐘漂移量與偏移量。
圖1 雙向同步原理圖
假設(shè)傳播延遲為dki,因?yàn)樵跇O短的時(shí)間內(nèi)來回傳播延遲與節(jié)點(diǎn)時(shí)偏可假設(shè)相同。假設(shè)漂移量
則在理想情況下,ρki為1,即線段hi(t1)hk(t2)平行于線段hi(t5)hk(t6),此時(shí)不存在時(shí)鐘漂移[10]。如圖1所示,根據(jù)雙向同步原理與時(shí)鐘恒定模型可以得到:
則根據(jù)得到的ρBA、mBA修改同步節(jié)點(diǎn)的本地時(shí)鐘,就能實(shí)現(xiàn)與同步節(jié)點(diǎn)的時(shí)鐘同步。
1.3 多跳同步原理
假設(shè)節(jié)點(diǎn)A與其下一跳節(jié)點(diǎn)B已經(jīng)實(shí)現(xiàn)了時(shí)間同步,則可以得到:
由式(5)與式(6)可以得到:
同樣,假設(shè)節(jié)點(diǎn)B與下一跳節(jié)點(diǎn)C已經(jīng)實(shí)現(xiàn)了時(shí)間同步,同理可以得到:
顯然將式(7)帶入式(8)可以得到節(jié)點(diǎn)A與C之間的同步。
采用同樣的方法逐級(jí)迭代下去,就可以實(shí)現(xiàn)全網(wǎng)的時(shí)間同步。
1.4 理論誤差來源分析
由1.2節(jié)的分析可知,兩節(jié)點(diǎn)之間的時(shí)鐘關(guān)系為hk(t)=ρki·hi(t)+mki。如果兩個(gè)節(jié)點(diǎn)不存在時(shí)鐘頻偏的情況,ρki為1,即hi(t1)hk(t2)平行于邊hi(t5)hk(t6),則頻率偏移誤差:
假設(shè)不存在頻率偏移的情況下,即ρki為1,我們來計(jì)算時(shí)鐘偏移的誤差來源。根據(jù)圖1所示的發(fā)送接收雙向消息同步過程,可以得到:
式中, hk(t3)、hi(t4)分別是t3、t4所對(duì)應(yīng)的同步節(jié)點(diǎn)和本地節(jié)點(diǎn)所測(cè)出的本地時(shí)間,Sk代表節(jié)點(diǎn)k的報(bào)文發(fā)送時(shí)間,Ak是發(fā)送報(bào)文的訪問時(shí)間,Pk→i是節(jié)點(diǎn)k傳播到節(jié)點(diǎn)i的時(shí)間,Ri是節(jié)點(diǎn)i的報(bào)文接收處理時(shí)間,Nkt是傳輸Nk個(gè)比特的總時(shí)間,Terror指?jìng)鬏敱忍氐恼`差,Rerror為打時(shí)標(biāo)過程存在的誤差,Dk→it3代表節(jié)點(diǎn)k與節(jié)點(diǎn)i在hk(t3)時(shí)刻的時(shí)偏。因?yàn)樵趯?shí)驗(yàn)中采用了MAC層的打時(shí)標(biāo)方法,這樣就可以消除發(fā)送時(shí)間與訪問時(shí)間對(duì)誤差的影響。于是式(11)就可以簡寫為:
式中,Dk→it3=Dk→it6+RDk→it3→t6。同理可以得到hk(t6):
由以上各式可以得到時(shí)偏:
式中,RDk→it3→t6代表從hk(t3)到hk(t6)時(shí)段內(nèi),節(jié)點(diǎn)k相對(duì)于節(jié)點(diǎn)i增加的時(shí)偏;Dk→it6是hk(t6)時(shí)刻節(jié)點(diǎn)k與節(jié)點(diǎn)i之間的時(shí)偏。可以算出時(shí)鐘偏差為:
2 、算法性能分析
無線傳感器節(jié)點(diǎn)采用的是晶體振蕩器來計(jì)時(shí)節(jié)點(diǎn)的本地時(shí)鐘,由于成本的限制,只能采用一些低成本的晶振。硬件設(shè)備廠商一般都會(huì)給出晶振頻率變化范圍,一般時(shí)鐘漂移為[10,100]ppm。同步周期取20 s,在一個(gè)周期內(nèi)采樣4次,得到的結(jié)果如表1所列。相同情況下的多跳同步誤差如表2所列。
從表1中可以看出,在同一個(gè)周期內(nèi),相比TPSN算法,CDCO算法誤差隨采樣間隔的增長明顯比TPSN慢,在相同的采樣間隔,誤差也明顯低于TPSN算法。因?yàn)橄啾扔赥PSN算法,本文考慮了時(shí)鐘漂移,因此可以在較長的時(shí)間內(nèi)保持同步。從表2可以看出,隨跳數(shù)增加,CDCO算法精度較高于TPSN算法。在相同的跳數(shù)內(nèi),CDCO算法的誤差明顯低于TPSN算法,且隨著跳數(shù)增加,CDCO算法的同步誤差增加明顯低于TPSN算法。相對(duì)于TPSN算法,CDCO算法可以減小誤差多跳累加的影響。
3、結(jié)語
本文基于發(fā)送方接收方雙向同步算法的原理,設(shè)計(jì)了一種同時(shí)考慮時(shí)鐘偏移與漂移的同步補(bǔ)償機(jī)制(CDCO算法)。實(shí)驗(yàn)結(jié)果表明,相比傳統(tǒng)的發(fā)送方接收方雙向同步算法,CDCO算法因?yàn)椴捎昧藭r(shí)鐘漂移補(bǔ)償技術(shù),在同一個(gè)同步周期內(nèi),同步誤差隨時(shí)間增加變化較小;而傳統(tǒng)的算法因?yàn)榇嬖跁r(shí)鐘漂移,在同一個(gè)周期內(nèi)誤差隨時(shí)間增大而變得越來越大。相對(duì)于TPSN算法,CDCO算法可以減小誤差多跳累加的影響。
責(zé)任編輯:gt
-
無線傳感器
+關(guān)注
關(guān)注
15文章
770瀏覽量
98315 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7522瀏覽量
88645 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1721瀏覽量
131376
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論