WSN中的時(shí)鐘漂移與偏移補償機制研究
在簡(jiǎn)要闡述無(wú)線(xiàn)傳感器網(wǎng)絡(luò )時(shí)間同步的發(fā)展情況后,基于經(jīng)典的發(fā)送者接收者雙向同步原理,提出一種基于時(shí)鐘漂移與偏移的同步補償機制(CDCO算法)。
本文引用地址:http://dyxdggzs.com/article/201601/286282.htm引言
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是由密集型、低成本、隨機分布的節點(diǎn)組成,集成了傳感器技術(shù)、計算機技術(shù)和通信技術(shù),能夠協(xié)同地實(shí)時(shí)監測、感知并采集各種環(huán)境的數據,適用于戰場(chǎng)通信、搶險救災和公共集會(huì )等突發(fā)性、臨時(shí)性場(chǎng)合[1]。保持節點(diǎn)之間時(shí)間上的同步在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中非常重要,它是保證可靠的數據傳輸、精確的節點(diǎn)定位、可靠的數據融合、準確的目標跟蹤與檢測的前提。如利用波的到達時(shí)間差測距,就需要高精度的時(shí)間同步。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中,由于頻率漂移,各個(gè)節點(diǎn)之間必然會(huì )產(chǎn)生一定的時(shí)鐘偏移,因此有效的時(shí)間同步技術(shù)對保證各個(gè)節點(diǎn)之間的時(shí)鐘同步非常重要[2]。
2002年,Elson等人在影響未來(lái)網(wǎng)絡(luò )研究發(fā)展方向的國際權威學(xué)術(shù)會(huì )議HotNets上,首次提出無(wú)線(xiàn)傳感器網(wǎng)絡(luò )時(shí)間同步的研究課題,至今已有相當多的典型時(shí)間同步算法?;诎l(fā)送者接收者的雙向同步算法中,比較典型的如TPSN(Timingsync Protocol for Sensor Networks)算法[3]。TPSN算法分成兩個(gè)階段,第一階段為層次發(fā)現階段,第二階段為同步階段。在同步階段采用發(fā)送者接收者的雙向成對同步算法, MAC層采用加入時(shí)間戳的技術(shù),進(jìn)而估算出節點(diǎn)之間的傳輸延遲與時(shí)鐘偏移。該作者在Mica 節點(diǎn)上測試過(guò),TPSN平均單跳誤差為17.61 μs?;诎l(fā)送者接收者的單向時(shí)間同步算法中,比較典型的如FTSP(Flooding Time Synchronization Protocol)算法[4]、DMTS(Delay Measurement Time Synchronization)算法[5]?;诮邮照呓邮照叩耐剿惴?,典型的有RBS(Reference Broadcast Synchronization)算法[6]。近幾年,也有作者提出了協(xié)作同步機制[7]。協(xié)作同步的核心思想仍然是屬于集中式協(xié)議,要求整個(gè)網(wǎng)絡(luò )中節點(diǎn)密度較高。參考文獻[8]中,作者提出了分步式同步機制,整個(gè)網(wǎng)絡(luò )無(wú)需構造由根節點(diǎn)發(fā)起的生成樹(shù),只需要每個(gè)節點(diǎn)之間使用分布式廣播同步機制。
傳統的同步機制只是簡(jiǎn)單地修正節點(diǎn)之間的時(shí)鐘偏移,傳感器節點(diǎn)時(shí)鐘由晶體振蕩器驅動(dòng)。晶體振蕩器的實(shí)際頻率通常與它標定的頻率之間存在一定的偏移,即存在時(shí)鐘頻率的漂移。傳統的同步算法為了提高同步精度,節點(diǎn)就必須頻繁地重復時(shí)間同步算法,以消除時(shí)鐘偏移的影響。頻繁地交換消息,必然給功耗受限的節點(diǎn)帶來(lái)額外的負擔,因此考慮節點(diǎn)之間的時(shí)鐘漂移也是非常重要的[9]。
1 CDCO時(shí)鐘同步算法設計
1.1 時(shí)鐘模型
本同步算法采用的是發(fā)送者接收者的雙向同步算法,同時(shí)考慮了時(shí)鐘漂移與偏移對同步精度的影響。在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的節點(diǎn)中,如果采用的是時(shí)鐘速率恒定模型,那么節點(diǎn)的硬件時(shí)鐘Ci(t)與真實(shí)時(shí)間Ck(t)的關(guān)系可以表示為Ci(t)=aik·Ck(t)+mik。式中,aik為節點(diǎn)之間的相對漂移量,mik為節點(diǎn)之間的相對偏移量。如果兩個(gè)節點(diǎn)之間完全同步,則相對漂移量aik為1,相對偏移量mik為0。
1.2 單跳同步原理
如圖1所示,hi(t1)、hi(t4)、hi(t5)用來(lái)記錄參考節點(diǎn)的本地時(shí)間, hk(t2)、hk(t3)、hk(t6)用來(lái)記錄同步節點(diǎn)的本地時(shí)間。同步過(guò)程采用類(lèi)似TPSN算法的雙向同步過(guò)程,假設同步節點(diǎn)與參考節點(diǎn)的時(shí)鐘關(guān)系采用時(shí)鐘恒定模型(這在現實(shí)中也是合理的),則hk(t)=ρki·hi(t)+mki。式中,hk(t)、hi(t)分別為同步節點(diǎn)與參考節點(diǎn)在本地時(shí)刻t的時(shí)鐘,ρki、mki分別為時(shí)鐘漂移量與偏移量。

圖1 雙向同步原理圖
假設傳播延遲為dki,因為在極短的時(shí)間內來(lái)回傳播延遲與節點(diǎn)時(shí)偏可假設相同。假設漂移量

則在理想情況下,ρki為1,即線(xiàn)段hi(t1)hk(t2)平行于線(xiàn)段hi(t5)hk(t6),此時(shí)不存在時(shí)鐘漂移[10]。如圖1所示,根據雙向同步原理與時(shí)鐘恒定模型可以得到:

則根據得到的ρBA、mBA修改同步節點(diǎn)的本地時(shí)鐘,就能實(shí)現與同步節點(diǎn)的時(shí)鐘同步。
1.3 多跳同步原理
假設節點(diǎn)A與其下一跳節點(diǎn)B已經(jīng)實(shí)現了時(shí)間同步,則可以得到:

由式(5)與式(6)可以得到:

同樣,假設節點(diǎn)B與下一跳節點(diǎn)C已經(jīng)實(shí)現了時(shí)間同步,同理可以得到:

顯然將式(7)帶入式(8)可以得到節點(diǎn)A與C之間的同步。

采用同樣的方法逐級迭代下去,就可以實(shí)現全網(wǎng)的時(shí)間同步。
1.4 理論誤差來(lái)源分析
由1.2節的分析可知,兩節點(diǎn)之間的時(shí)鐘關(guān)系為hk(t)=ρki·hi(t)+mki。如果兩個(gè)節點(diǎn)不存在時(shí)鐘頻偏的情況,ρki為1,即hi(t1)hk(t2)平行于邊hi(t5)hk(t6),則頻率偏移誤差:

假設不存在頻率偏移的情況下,即ρki為1,我們來(lái)計算時(shí)鐘偏移的誤差來(lái)源。根據圖1所示的發(fā)送接收雙向消息同步過(guò)程,可以得到:

式中, hk(t3)、hi(t4)分別是t3、t4所對應的同步節點(diǎn)和本地節點(diǎn)所測出的本地時(shí)間,Sk代表節點(diǎn)k的報文發(fā)送時(shí)間,Ak是發(fā)送報文的訪(fǎng)問(wèn)時(shí)間,Pk→i是節點(diǎn)k傳播到節點(diǎn)i的時(shí)間,Ri是節點(diǎn)i的報文接收處理時(shí)間,Nkt是傳輸Nk個(gè)比特的總時(shí)間,Terror指傳輸比特的誤差,Rerror為打時(shí)標過(guò)程存在的誤差,Dk→it3代表節點(diǎn)k與節點(diǎn)i在hk(t3)時(shí)刻的時(shí)偏。因為在實(shí)驗中采用了MAC層的打時(shí)標方法,這樣就可以消除發(fā)送時(shí)間與訪(fǎng)問(wèn)時(shí)間對誤差的影響。于是式(11)就可以簡(jiǎn)寫(xiě)為:

式中,Dk→it3=Dk→it6+RDk→it3→t6。同理可以得到hk(t6):

由以上各式可以得到時(shí)偏:

式中,RDk→it3→t6代表從hk(t3)到hk(t6)時(shí)段內,節點(diǎn)k相對于節點(diǎn)i增加的時(shí)偏;Dk→it6是hk(t6)時(shí)刻節點(diǎn)k與節點(diǎn)i之間的時(shí)偏??梢运愠鰰r(shí)鐘偏差為:

2 算法性能分析
無(wú)線(xiàn)傳感器節點(diǎn)采用的是晶體振蕩器來(lái)計時(shí)節點(diǎn)的本地時(shí)鐘,由于成本的限制,只能采用一些低成本的晶振。硬件設備廠(chǎng)商一般都會(huì )給出晶振頻率變化范圍,一般時(shí)鐘漂移為[10,100]ppm。同步周期取20 s,在一個(gè)周期內采樣4次,得到的結果如表1所列。相同情況下的多跳同步誤差如表2所列。

從表1中可以看出,在同一個(gè)周期內,相比TPSN算法,CDCO算法誤差隨采樣間隔的增長(cháng)明顯比TPSN慢,在相同的采樣間隔,誤差也明顯低于TPSN算法。因為相比于TPSN算法,本文考慮了時(shí)鐘漂移,因此可以在較長(cháng)的時(shí)間內保持同步。從表2可以看出,隨跳數增加,CDCO算法精度較高于TPSN算法。在相同的跳數內,CDCO算法的誤差明顯低于TPSN算法,且隨著(zhù)跳數增加,CDCO算法的同步誤差增加明顯低于TPSN算法。相對于TPSN算法,CDCO算法可以減小誤差多跳累加的影響。
結語(yǔ)
本文基于發(fā)送方接收方雙向同步算法的原理,設計了一種同時(shí)考慮時(shí)鐘偏移與漂移的同步補償機制(CDCO算法)。實(shí)驗結果表明,相比傳統的發(fā)送方接收方雙向同步算法,CDCO算法因為采用了時(shí)鐘漂移補償技術(shù),在同一個(gè)同步周期內,同步誤差隨時(shí)間增加變化較小;而傳統的算法因為存在時(shí)鐘漂移,在同一個(gè)周期內誤差隨時(shí)間增大而變得越來(lái)越大。相對于TPSN算法,CDCO算法可以減小誤差多跳累加的影響。
評論