無線傳感器網(wǎng)絡(luò)的鄰域平均時鐘同步算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種無線傳感器網(wǎng)絡(luò)的鄰域平均時鐘同步算法,該技術(shù)是基于無線傳 感器網(wǎng)絡(luò)或物聯(lián)網(wǎng)的高精度監(jiān)測應(yīng)用的重要基礎(chǔ)。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)是由大量的靜止或移動的傳感器W自組織和多跳的方式構(gòu)成的 無線網(wǎng)絡(luò),W協(xié)作地感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋地理區(qū)域內(nèi)被感知對象的信息,并最 終把運些信息發(fā)送給網(wǎng)絡(luò)的所有者。近年來,無線傳感器網(wǎng)絡(luò)應(yīng)用廣泛,其相關(guān)技術(shù)也飛速 發(fā)展。
[0003] 但由于物理上的分散性,網(wǎng)絡(luò)無法為彼此間相互獨立的節(jié)點提供一個統(tǒng)一的全局 時鐘,每個節(jié)點各自維護它們的本地時鐘。為了解決運些本地時鐘的失步現(xiàn)象,必須進行時 間同步操作。現(xiàn)今較成熟的算法有:網(wǎng)絡(luò)時間同步協(xié)議(NTP,化tworkTimeProtocol)、 參考廣播同步算法(RBS,ReferenceBroadcastSync虹onization)、傳感器網(wǎng)絡(luò)的時間同 步協(xié)議(TPSN,Timing-syncProtocolforSensor化tworks)、泛洪時間同步協(xié)議(FTSP, FloodingTimeSync虹onizationProtocol)、擴散時間同步協(xié)議(TDP,Time-diffusion Sync虹onizationProtocol)等。運些算法在收斂快速性、傳播延時的補償W及數(shù)據(jù)交換大 小等方面有待提出更高的要求。
【發(fā)明內(nèi)容】
[0004] 針對因晶振誤差、運行環(huán)境存在不一致所導(dǎo)致的無線傳感器網(wǎng)絡(luò)中各節(jié)點本地時 鐘的失步現(xiàn)象,本發(fā)明所要解決的技術(shù)問題是提供一種無線傳感器網(wǎng)絡(luò)的鄰域平均時鐘同 步算法,其對出現(xiàn)失步現(xiàn)象的各個本地時鐘進行時鐘偏移補償和速率補償,W確保時鐘克 服因各種原因出現(xiàn)的誤差并使它們W相同的速度在網(wǎng)絡(luò)中運行。該算法達到較快的收斂速 率,對傳播延時進行有效補償,并使數(shù)據(jù)交換達到最小。
[0005] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種無線傳感器網(wǎng)絡(luò)的鄰域平均時 鐘同步算法,其特征在于,所述無線傳感器網(wǎng)絡(luò)的鄰域平均時鐘同步算法通過無線傳感器 節(jié)點間的信息交換對無線傳感器節(jié)點的時鐘偏移與時鐘速率進行補償。
[0006] 優(yōu)選地,述無線傳感器網(wǎng)絡(luò)的鄰域平均時鐘同步算法通過無線傳感器節(jié)點間的信 息交換對無線傳感器節(jié)點的時鐘偏移進行的補償包括W下步驟:
[0007] 步驟一:無線傳感器節(jié)點上電,設(shè)置自身的置信參數(shù)為1 ;
[0008] 步驟二:周期地運行時間同步算法;每次執(zhí)行同步算法時,無線傳感器節(jié)點通過 CSMA/CAKarrierSenseMultipleAccesswithCollisionAvoidance,載波偵聽多路訪 問/沖突避免)方案,向其發(fā)送功率范圍內(nèi)的節(jié)點廣播一個包含了該節(jié)點的補償時鐘值的 同步數(shù)據(jù)包;
[0009] 步驟=:無線傳感器節(jié)點收到其它節(jié)點的同步廣播數(shù)據(jù)包后,W置信參數(shù)為權(quán)重 進行加權(quán)平均,來更新自己的時鐘,然后將自己的置信參數(shù)增加1 ;
[0010] 步驟四:周期地重復(fù)W上步驟。
[0011] 優(yōu)選地,所述無線傳感器網(wǎng)絡(luò)的鄰域平均時鐘同步算法通過無線傳感器節(jié)點間的 信息交換對無線傳感器節(jié)點的時鐘速率進行的補償包括W下步驟:
[0012] 步驟十一:無線傳感器節(jié)點周期地進行時鐘速率補償;無線傳感器節(jié)點檢測信 道,若信道空閑,則廣播詢問傳輸范圍內(nèi)的鄰近無線傳感器節(jié)點的時鐘速率;
[001引步驟十二:無線傳感器節(jié)點收到鄰近無線傳感器節(jié)點的廣播詢問信息后,將自己 的時鐘速率信息發(fā)送回去;
[0014] 步驟十無線傳感器節(jié)點收到鄰近無線傳感器節(jié)點返回的時鐘速率信息后,首 先補償傳播延遲;
[0015] 步驟十四:無線傳感器節(jié)點根據(jù)其收到的鄰近無線傳感器節(jié)點的時鐘速率信息, 計算鄰近無線傳感器節(jié)點及其本身的平均速率;
[0016] 步驟十五:無線傳感器節(jié)點W平均時鐘速率更新其速率補償值;
[0017] 步驟十六:補償完成后,無線傳感器節(jié)點向其發(fā)送功率范圍內(nèi)的節(jié)點廣播補償表, 該廣播補償表包括無線傳感器節(jié)點ID和補償速率;
[001引步驟十屯:傳感器節(jié)點收到其它鄰近無線傳感器節(jié)點的補償表,依據(jù)補償表更新 自己的時鐘速率補償值;
[0019] 步驟十八:周期地重復(fù)W上步驟。
[0020] 本發(fā)明的有益效果如下:本發(fā)明通過對出現(xiàn)失步現(xiàn)象的各個本地時鐘進行時鐘偏 移補償和時鐘速率補償,完成高精度時間同步,算法收斂速度快,傳播延時得到有效補償, 同步過程中實現(xiàn)數(shù)據(jù)交換最小化。
【附圖說明】
[0021] 圖1為鄰域平均時鐘同步算法主要思路流程圖。
[0022] 圖2為時鐘偏移補償算法流程圖。
[0023] 圖3為時鐘偏移補償算法的效果示意圖。
[0024] 圖4為時鐘速率補償算法流程圖。
[00巧]圖5為時鐘速率補償算法的效果示例圖。
【具體實施方式】
[0026] 本發(fā)明采用鄰域平均時鐘同步算法通過無線傳感器節(jié)點間的信息交換對無線傳 感器節(jié)點的時鐘偏移與時鐘速率進行補償。對于時鐘偏移補償,鄰域平均時鐘同步算法先 將所有本地時鐘的置信參數(shù)置1,每進行一次操作,參與操作的本地時鐘W置信參數(shù)作為權(quán) 重,對各個本地時鐘的時間進行加權(quán)平均,再將置信參數(shù)加1,從而完成對本地時鐘的偏移 補償。對于時鐘速率補償,鄰域平均時鐘同步算法定期檢測信道,若信道是空閑的,則廣播 詢問傳輸范圍內(nèi)的鄰近節(jié)點的時鐘速率,鄰近節(jié)點返回時鐘速率,補償傳播延遲,無線傳感 器節(jié)點計算鄰近節(jié)點及其本身的平均時鐘速率,更新其速率值,廣播補償表(該表包括節(jié) 點ID和補償時鐘速率),接收鄰近的補償表,并更新自己的時鐘速率補償值,如此循環(huán)進行 下去,達到時鐘斜率補償?shù)哪康摹?br>[0027] 對于每一個無線傳感器節(jié)點,本發(fā)明定義時鐘模型為式(1)。C(t)為時鐘在t時 刻的讀數(shù),a為斜率,e為偏移量。在理想狀態(tài)下,a等于1,e等于0。
[0028] C(t)=曰 *t+0 (1)
[0029] 則節(jié)點i的時鐘讀數(shù)滿足式似:
[0030] Ci(t)=曰i*t+ 0 1 似
[0031] 本算法旨在找到補償值%和襄,使補償時鐘4C婷收斂于。似(其中,運嫉為節(jié)點 Il的時鐘補償值,(Ut)是最終收斂值,為一常量),如式(3)和式(4):
[0032] 口)
[0033]
[0034] (4)
[003引其中,a1為晶振脈沖周期韓。.k與溢出值Ni的乘積,如式妨:
[003引父蠕城 (5)
[0037] 如圖2所示,時鐘偏移補償?shù)木唧w內(nèi)容如下:
[003引偏移補償?shù)哪繕耸菑脑诰W(wǎng)絡(luò)中所有的時鐘去除偏移誤差。即找到^喉其滿足式 (4),在此將其擴展為式化):
[0040] 由此可得式(7):[00川獲心裝…裝' (7)
[0039] (6)
[0042] 對于每一輪的偏移補償,節(jié)點執(zhí)行下面的算法,收斂時鐘到如下運個共同的值。
[004引
滿
[0044] 時鐘偏移補償包括W下步驟:
[004引步驟1巧線傳感器節(jié)點上電后,設(shè)置自身的置信參數(shù)為1(中性值)。
[0046] 步驟2 :周期地運行時間同步算法。每次執(zhí)行同步算法時,無線傳感器節(jié)點通過 CSMA/CA(CarrierSen