0 引言
近年來,,隨著生物傳感器、可穿戴式技術(shù)和無線傳感器網(wǎng)絡(luò)的逐步發(fā)展,,無線軀體傳感器網(wǎng)絡(luò)的概念(wireless body sensor network, WBSN或BSN)被研究人員所提出,,它主要由各種采集人體生命體征的傳感器節(jié)點、中央處理節(jié)點及監(jiān)護中心的接收裝置組成,。無線軀體傳感器網(wǎng)絡(luò)主要應用于醫(yī)療監(jiān)護,、疾病監(jiān)控和生物醫(yī)學等領(lǐng)域,是形成人聯(lián)網(wǎng)(Internet of persons)的重要感知及組成部分,。
時間同步是WBSN的一個重要支撐技術(shù),,采集的各種生理信息的融合,生理傳感器節(jié)點的休眠和喚醒,,各節(jié)點之間的協(xié)同工作都需要時間同步,。由于WBSN應用的需求,傳感器節(jié)點逐步向可穿戴式發(fā)展,,節(jié)點體積小,、重量輕、便于攜帶,,導致節(jié)點能量非常有限,,因此設(shè)計一種滿足WBSN低能耗要求的時間同步算法是一個值得探索的問題。
1 算法設(shè)計
本文通過對WBSN特點的分析,,結(jié)合已有典型的時間同步算法TPSN和DMTS,,提出了一種滿足WBSN低能耗要求的時間同步算法,在保證一定同步精度的前提下,,減少信息交換次數(shù)來達到低能耗的要求,?;诨鶞使?jié)點單向廣播消息的時間同步機制通過減少消息交換量換取低能耗,但同步精度有所下降,?;诔蓪﹄p向消息傳遞的時間同步機制采用往返消息測量成對節(jié)點間的時間偏移和傳播時延,同步精度較高但協(xié)議復雜同步開銷大,。結(jié)合這兩種機制,,設(shè)計算法。
2 算法描述
第一階段為層次建立階段,。首先確定根節(jié)點及分層,,此節(jié)點是全網(wǎng)的時鐘參考節(jié)點,賦予層次號0,,根節(jié)點廣播包含有自身層次號的數(shù)據(jù)包,相鄰節(jié)點收到該數(shù)據(jù)包后,,確定自身層次號為1,,然后1層節(jié)點繼續(xù)廣播帶有自身層次號的數(shù)據(jù)包,以此類推,,i層節(jié)點廣播帶有自身等級信息的數(shù)據(jù)包,,其相鄰節(jié)點收到后確定自身等級為i+1,直到網(wǎng)絡(luò)中所有節(jié)點都有自身的等級,。已確定層次的節(jié)點拒收其他數(shù)據(jù)包,。至此,全網(wǎng)建立起一個層次結(jié)構(gòu),。
第二階段為同步階段,。同步階段又分為層間同步和層內(nèi)同步。層間同步采用成對雙向消息傳遞機制,,層內(nèi)同步采用基準節(jié)點單向廣播機制,,每層節(jié)點中選出一個基準節(jié)點,層內(nèi)結(jié)構(gòu)形成主從關(guān)系,。
除根節(jié)點外,,每層基準節(jié)點按層次序號依次向上層發(fā)送同步請求。1層基準節(jié)點向根節(jié)點發(fā)送同步請求,,兩節(jié)點間采用成對雙向消息同步機制進行同步,,1層基準節(jié)點計算出節(jié)點間時間偏移和傳播時延,調(diào)整本地時鐘,,與根節(jié)點達到同步,。然后1層基準節(jié)點在層內(nèi)廣播一個同步消息,層內(nèi)其他節(jié)點收到消息后估計消息時延,,調(diào)整本地時鐘,。至此實現(xiàn)了一層節(jié)點的同步,。
同步過程中設(shè)立一個同步計時器,用于記錄層間同步時間T,。間隔t(T≤t≤2T),,2層基準節(jié)點向1層基準節(jié)點請求同步,按照層間和層內(nèi)方法實現(xiàn)同步,。間隔時間t的選取保證上層節(jié)點已與根節(jié)點達到同步,。以下各層重復上述同步過程實現(xiàn)全網(wǎng)同步。此算法結(jié)合單向廣播和成對雙向消息傳遞進行橫向和縱向時間同步,,橫向指層內(nèi)廣播,,縱向指層間成對,橫縱交錯,,實現(xiàn)了所有節(jié)點的同步,。
3 算法仿真
為了評估和分析算法的性能,本文采用網(wǎng)絡(luò)仿真工具NS-2進行實驗仿真,。NS-2(Network Simulator version 2)是一種針對網(wǎng)絡(luò)技術(shù)的源代碼公開的,、免費的軟件模擬平臺,研究人員使用它可以很容易地進行網(wǎng)絡(luò)技術(shù)的開發(fā),。設(shè)計仿真環(huán)境為50×50m2的正方形區(qū)域,,隨機分布50個節(jié)點,節(jié)點間無線通信距離為10m,。
本文提出的改進算法比TPSN算法的同步開銷要小得多,,并隨相鄰節(jié)點數(shù)的增加,其同步開銷的差別越大,。如圖1所示,。

這是因為改進算法中每層只有一個基準節(jié)點,層間同步過程需兩個消息交換的開銷,,而基準節(jié)點與本層的其他節(jié)點只需要一個消息開銷,,而TPSN算法則需要2倍于節(jié)點數(shù)的開銷。
顯然,,改進算法明顯減少了同步階段所需的消息交換次數(shù),,降低了同步過程所需的通信開銷。
改進算法的同步誤差略高于TPSN算法,。如圖2所示,。

這是因為改進算法中每層只有一個基準節(jié)點與上層節(jié)點進行同步,層內(nèi)其他節(jié)點都是參照這個節(jié)點與上層節(jié)點進行同步的,,而TPSN算法中每個節(jié)點都與上層節(jié)點進行單獨的同步,,所以改進算法同步誤差略高。根據(jù)仿真試驗可以分析比較改進算法與TPSN的性能,,雖然改進算法的同步誤差比TPSN大,,但它可以滿足大多數(shù)WBSN的應用需求,。而改進算法的能量消耗遠小于TPSN,實現(xiàn)了低能耗的設(shè)計要求,。
4 結(jié)論
時間同步是WBSN的一項重要的支撐技術(shù),,設(shè)計時間同步算法時常常要考慮能量消耗和同步誤差,但這兩個重要參數(shù)往往是一對矛盾的量,。大多數(shù)WBSN對同步精度的要求并不高,,所以在能量消耗和同步誤差之間獲得一個折衷是重點所在。本文提出的改進算法結(jié)合基準節(jié)點單向廣播機制和成對雙向消息傳遞機制,,在保證一定同步精度的前提下,,減少消息傳遞次數(shù),降低通信開銷,,達到了低能耗的要求,。仿真實驗驗證了算法低能耗和良好同步誤差的性能。