<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 醫(yī)療電子 > 設(shè)計應(yīng)用 > 滿足WBSN低能耗的時間同步算法的設(shè)計

          滿足WBSN低能耗的時間同步算法的設(shè)計

          作者: 時間:2012-05-25 來源:網(wǎng)絡(luò) 收藏

          0 引言

          本文引用地址:http://www.ex-cimer.com/article/199005.htm

          近年來,隨著生物傳感器、可穿戴式技術(shù)和無線傳感器網(wǎng)絡(luò)的逐步發(fā)展,無線軀體傳感器網(wǎng)絡(luò)的概念(wireless body sensor network, 或BSN)被研究人員所提出,它主要由各種采集人體生命體征的傳感器節(jié)點、中央處理節(jié)點及監(jiān)護(hù)中心的接收裝置組成。無線軀體傳感器網(wǎng)絡(luò)主要應(yīng)用于醫(yī)療監(jiān)護(hù)、疾病監(jiān)控和生物醫(yī)學(xué)等領(lǐng)域,是形成人聯(lián)網(wǎng)(Internet of persons)的重要感知及組成部分。

          時間同步是的一個重要支撐技術(shù),采集的各種生理信息的融合,生理傳感器節(jié)點的休眠和喚醒,各節(jié)點之間的協(xié)同工作都需要時間同步。由于應(yīng)用的需求,傳感器節(jié)點逐步向可穿戴式發(fā)展,節(jié)點體積小、重量輕、便于攜帶,導(dǎo)致節(jié)點能量非常有限,因此設(shè)計一種滿足WBSN要求的是一個值得探索的問題。

          1 算法設(shè)計

          本文通過對WBSN特點的分析,結(jié)合已有典型的TPSN和DMTS,提出了一種滿足WBSN要求的,在保證一定同步精度的前提下,減少信息交換次數(shù)來達(dá)到的要求?;诨鶞?zhǔn)節(jié)點單向廣播消息的時間同步機(jī)制通過減少消息交換量換取低能耗,但同步精度有所下降?;诔蓪﹄p向消息傳遞的時間同步機(jī)制采用往返消息測量成對節(jié)點間的時間偏移和傳播時延,同步精度較高但協(xié)議復(fù)雜同步開銷大。結(jié)合這兩種機(jī)制,設(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)同步。層間同步采用成對雙向消息傳遞機(jī)制,層內(nèi)同步采用基準(zhǔn)節(jié)點單向廣播機(jī)制,每層節(jié)點中選出一個基準(zhǔn)節(jié)點,層內(nèi)結(jié)構(gòu)形成主從關(guān)系。

          除根節(jié)點外,每層基準(zhǔn)節(jié)點按層次序號依次向上層發(fā)送同步請求。1層基準(zhǔn)節(jié)點向根節(jié)點發(fā)送同步請求,兩節(jié)點間采用成對雙向消息同步機(jī)制進(jìn)行同步,1層基準(zhǔn)節(jié)點計算出節(jié)點間時間偏移和傳播時延,調(diào)整本地時鐘,與根節(jié)點達(dá)到同步。然后1層基準(zhǔn)節(jié)點在層內(nèi)廣播一個同步消息,層內(nèi)其他節(jié)點收到消息后估計消息時延,調(diào)整本地時鐘。至此實現(xiàn)了一層節(jié)點的同步。

          同步過程中設(shè)立一個同步計時器,用于記錄層間同步時間T。間隔t(T≤t≤2T),2層基準(zhǔn)節(jié)點向1層基準(zhǔn)節(jié)點請求同步,按照層間和層內(nèi)方法實現(xiàn)同步。間隔時間t的選取保證上層節(jié)點已與根節(jié)點達(dá)到同步。以下各層重復(fù)上述同步過程實現(xiàn)全網(wǎng)同步。此算法結(jié)合單向廣播和成對雙向消息傳遞進(jìn)行橫向和縱向時間同步,橫向指層內(nèi)廣播,縱向指層間成對,橫縱交錯,實現(xiàn)了所有節(jié)點的同步。

          3 算法仿真

          為了評估和分析算法的性能,本文采用網(wǎng)絡(luò)仿真工具NS-2進(jìn)行實驗仿真。NS-2(Network Simulator version 2)是一種針對網(wǎng)絡(luò)技術(shù)的源代碼公開的、免費的軟件模擬平臺,研究人員使用它可以很容易地進(jìn)行網(wǎng)絡(luò)技術(shù)的開發(fā)。設(shè)計仿真環(huán)境為50×50m2的正方形區(qū)域,隨機(jī)分布50個節(jié)點,節(jié)點間無線通信距離為10m。

          本文提出的改進(jìn)算法比TPSN算法的同步開銷要小得多,并隨相鄰節(jié)點數(shù)的增加,其同步開銷的差別越大。如圖1所示。

          1.jpg

          這是因為改進(jìn)算法中每層只有一個基準(zhǔn)節(jié)點,層間同步過程需兩個消息交換的開銷,而基準(zhǔn)節(jié)點與本層的其他節(jié)點只需要一個消息開銷,而TPSN算法則需要2倍于節(jié)點數(shù)的開銷。

          顯然,改進(jìn)算法明顯減少了同步階段所需的消息交換次數(shù),降低了同步過程所需的通信開銷。

          改進(jìn)算法的同步誤差略高于TPSN算法。如圖2所示。

          1.jpg

          圖2 改進(jìn)算法與TPSN 算法同步

          這是因為改進(jìn)算法中每層只有一個基準(zhǔn)節(jié)點與上層節(jié)點進(jìn)行同步,層內(nèi)其他節(jié)點都是參照這個節(jié)點與上層節(jié)點進(jìn)行同步的,而TPSN算法中每個節(jié)點都與上層節(jié)點進(jìn)行單獨的同步,所以改進(jìn)算法同步誤差略高。根據(jù)仿真試驗可以分析比較改進(jìn)算法與TPSN的性能,雖然改進(jìn)算法的同步誤差比TPSN大,但它可以滿足大多數(shù)WBSN的應(yīng)用需求。而改進(jìn)算法的能量消耗遠(yuǎn)小于TPSN,實現(xiàn)了低能耗的設(shè)計要求。

          4 結(jié)論

          時間同步是WBSN的一項重要的支撐技術(shù),設(shè)計時間同步算法時常常要考慮能量消耗和同步誤差,但這兩個重要參數(shù)往往是一對矛盾的量。大多數(shù)WBSN對同步精度的要求并不高,所以在能量消耗和同步誤差之間獲得一個折衷是重點所在。本文提出的改進(jìn)算法結(jié)合基準(zhǔn)節(jié)點單向廣播機(jī)制和成對雙向消息傳遞機(jī)制,在保證一定同步精度的前提下,減少消息傳遞次數(shù),降低通信開銷,達(dá)到了低能耗的要求。仿真實驗驗證了算法低能耗和良好同步誤差的性能。

          更多醫(yī)療電子信息請關(guān)注:21ic醫(yī)療電子頻道



          關(guān)鍵詞: WBSN 低能耗 時間同步算法

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();