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