李燕香 曹小鳳
摘? 要:近年來,隨著對(duì)健康醫(yī)療水平的重視,體域網(wǎng)迅速發(fā)展起來。但是由于無線電作為傳輸介質(zhì)傳輸能耗較高,并且穿戴在人體的傳感器節(jié)點(diǎn)往往較小,這都導(dǎo)致網(wǎng)絡(luò)生存周期較短。此外,體域網(wǎng)中各節(jié)點(diǎn)的相對(duì)位置會(huì)隨著用戶不同行為模式及姿態(tài)而發(fā)生變化。如何針對(duì)動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)選擇路由,保證最大化網(wǎng)絡(luò)的生存周期,是本文的主要研究?jī)?nèi)容。本文提出一種基于卡爾曼濾波的動(dòng)態(tài)路由算法,來自適應(yīng)變化的網(wǎng)絡(luò)拓?fù)?,并同時(shí)達(dá)到延長網(wǎng)絡(luò)生存周期的目的。
關(guān)鍵詞:體域網(wǎng);動(dòng)態(tài)路由算法;網(wǎng)絡(luò)生存周期
中圖分類號(hào):TP393? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Research on Energy-Saving Dynamic Routing Algorithm for Body Area Network
LI Yanxiang,CAO Xiaofeng
(Department of Computer Engineering,Taiyuan Institute of Technology,Taiyuan 030008,China)
Abstract:In recent years,with the emphasis on health care,body area network has developed rapidly.However,due to the high energy consumption of radio transmission as a transmission medium and the small numbers of sensor nodes worn on human body,the network lifetime is shorter.In addition,the relative position of each node in the body area network will change with user's different behavior patterns and gestures.How to select routing for dynamic topology to maximize the lifetime of the network is the main content of this paper.In this paper,a dynamic routing algorithm based on Kalman Filtering is proposed,which adapts to the changing network topology and prolongs the network lifetime.
Keywords:body area network;Dynamic Routing Algorithm;network lifetime
1? ?引言(Introduction)
近年來,隨著集成電路和可穿戴設(shè)備的迅速發(fā)展,一種用于檢測(cè)人體生理數(shù)據(jù)的無線傳感器網(wǎng)絡(luò)——無線體域網(wǎng)(Wireless Body Area Network,WBAN)應(yīng)運(yùn)而生[1]。無線體域網(wǎng)的網(wǎng)絡(luò)實(shí)體結(jié)構(gòu)如圖1所示。
圖1 無線體域網(wǎng)的網(wǎng)絡(luò)實(shí)體結(jié)構(gòu)圖
Fig.1 Network physical structure of wireless body areanetwork
為了避免對(duì)人體正常行為活動(dòng)帶來的不便,體域網(wǎng)中的傳感器節(jié)點(diǎn)往往體積較小,因此攜帶的能量也較小。此外,實(shí)時(shí)變化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),也為數(shù)據(jù)傳輸?shù)哪芰肯膸眍~外開銷。頻繁更換傳感器必然不是最好的選擇,因此如何節(jié)約能量,盡可能延長網(wǎng)絡(luò)生存周期,是WBAN研究的重要課題之一。
盧先領(lǐng)、彭能明等提出一種基于壓縮感知理論的數(shù)據(jù)壓縮節(jié)能策略[2];周岳斌、陳家順等提出一種利用節(jié)點(diǎn)轉(zhuǎn)發(fā)來平衡網(wǎng)絡(luò)能耗的分簇路由算法以延長網(wǎng)絡(luò)生存周期[3];彭能明、金智明提出一種利用臨時(shí)節(jié)點(diǎn)富余能量,平衡網(wǎng)絡(luò)節(jié)點(diǎn)間能量損耗以延長網(wǎng)絡(luò)生存周期的算法[4];劉漢春、劉靜等提出一種優(yōu)化網(wǎng)絡(luò)拓?fù)淠P?,通過動(dòng)態(tài)調(diào)整數(shù)據(jù)到匯聚節(jié)點(diǎn)的路由及中繼節(jié)點(diǎn)在網(wǎng)絡(luò)中的數(shù)量和位置,延長網(wǎng)絡(luò)生存周期[5]。
本文通過卡爾曼濾波預(yù)測(cè)節(jié)點(diǎn)剩余能量,在路由選擇時(shí)選擇預(yù)測(cè)剩余能量最大的節(jié)點(diǎn)作為路由的后繼節(jié)點(diǎn),保證整個(gè)網(wǎng)絡(luò)的剩余能量始終最大,從而延長網(wǎng)絡(luò)生存周期。
2? ?網(wǎng)絡(luò)模型及算法(Network model and algorithms)
2.1? ?網(wǎng)絡(luò)模型
部署在人體的傳感器種類繁多,圖2是體域網(wǎng)的一種傳感器部署策略。
圖2 體域網(wǎng)傳感器部署舉例
Fig.2 Examples of sensor deployment in body area network
本文體域網(wǎng)的拓?fù)浣Y(jié)構(gòu)如圖3所示是一種以匯聚節(jié)點(diǎn)為中心的星型拓?fù)浜途W(wǎng)狀拓?fù)湎嘟Y(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)[6,7]。
本文中根據(jù)與匯聚節(jié)點(diǎn)(sink)之間的歐式距離進(jìn)行分層:距離匯聚節(jié)點(diǎn)越近的節(jié)點(diǎn)層次越低,否則反之。為了消息最終都定向傳輸?shù)絽R聚節(jié)點(diǎn),高層次的節(jié)點(diǎn)只能向低層次節(jié)點(diǎn)發(fā)送數(shù)據(jù)消息,低層次節(jié)點(diǎn)只能向高層次節(jié)點(diǎn)發(fā)送命令消息。
匯聚節(jié)點(diǎn)為0層,上層節(jié)點(diǎn)的節(jié)點(diǎn)層數(shù)為下層節(jié)點(diǎn)的節(jié)點(diǎn)層數(shù)加1:節(jié)點(diǎn)X的層數(shù)為1,節(jié)點(diǎn)Y的層數(shù)為2。
圖3 BAN內(nèi)部網(wǎng)絡(luò)拓?fù)涫疽鈭D
Fig.3 Topology diagram of BAN internal network
2.2? ?基于卡爾曼濾波動(dòng)態(tài)路由算法描述
本文用表示節(jié)點(diǎn)i的位置信息,用Ei記錄節(jié)點(diǎn)i的剩余能量,用Pt表示節(jié)點(diǎn)在t時(shí)刻的能量損耗,表示t時(shí)刻消息傳輸?shù)木嚯x,表示傳播角度,消息定向傳輸[8],則存在如下關(guān)系:
用Sit表示節(jié)點(diǎn)i在t時(shí)刻發(fā)送的消息,Sit.Energy表示節(jié)點(diǎn)i在t時(shí)刻的剩余能量,用表示節(jié)點(diǎn)i在t時(shí)刻的能量開銷:
用了一個(gè)簡(jiǎn)化的卡爾曼濾波器來預(yù)測(cè)時(shí)間間隔[t,t+1]及之后的能量消耗,假設(shè)t時(shí)刻節(jié)點(diǎn)i的能量開銷預(yù)測(cè)為,則t+1時(shí)刻節(jié)點(diǎn)i的能量開銷為:
其中,α是一個(gè)常系數(shù),取值范圍[0,1]。
則節(jié)點(diǎn)i的預(yù)測(cè)生存周期為:
考慮整個(gè)網(wǎng)絡(luò)的生存周期,則問題變?yōu)榍蠼庾畲蠡钚≈祮栴}:
用Lij表示節(jié)點(diǎn)i到j(luò)的距離,用Aijk表示節(jié)點(diǎn)i、j和k之間以j為頂點(diǎn)的傳輸角度,節(jié)點(diǎn)j把信息同時(shí)傳遞給i和k的能耗為:
同時(shí),節(jié)點(diǎn)預(yù)測(cè)的總能耗必須小于節(jié)點(diǎn)的剩余能量
算法用循環(huán)遍歷每一個(gè)節(jié)點(diǎn),并搜索每一個(gè)節(jié)點(diǎn)所有可能的后繼節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)將數(shù)據(jù)信息冗余發(fā)送給兩個(gè)后繼節(jié)點(diǎn),如果這三個(gè)節(jié)點(diǎn)的最小生存周期能夠提升,則將滿足條件的這兩個(gè)節(jié)點(diǎn)作為路由的可行解。
2.3? ?網(wǎng)絡(luò)數(shù)據(jù)包格式
在數(shù)據(jù)傳輸時(shí),除了傳輸傳感器數(shù)據(jù)之外,還需要一些其他標(biāo)識(shí)字段,完整的數(shù)據(jù)包格式如表1所示。
表1 路由算法數(shù)據(jù)包格式
Tab.1 Routing algorithm packet formatSID Energy Coordinate Level Data
SID字段:用來唯一標(biāo)識(shí)傳感器。來源于不同傳感器的數(shù)據(jù)包中該字段不同。
Energy字段:用來記錄當(dāng)前節(jié)點(diǎn)的剩余能量。一個(gè)節(jié)點(diǎn)的剩余能量,等于其初始能量減去監(jiān)測(cè)能量、通信能量、電量損耗等。當(dāng)節(jié)點(diǎn)的剩余能量較少時(shí),該節(jié)點(diǎn)只能作為一個(gè)傳感器節(jié)點(diǎn)接收數(shù)據(jù)而不能轉(zhuǎn)發(fā)數(shù)據(jù),以此保證整個(gè)網(wǎng)絡(luò)剩余能量盡可能最大。
Coordinate字段:用來標(biāo)識(shí)傳感器節(jié)點(diǎn)的位置信息。由于體域網(wǎng)的網(wǎng)絡(luò)拓?fù)涫请S著人體行為活動(dòng)和姿態(tài)的改變而變化的,因此,以此字段來獲取傳感器節(jié)點(diǎn)當(dāng)前相對(duì)于人體的位置。從而能夠確定節(jié)點(diǎn)位于網(wǎng)絡(luò)拓?fù)渲械牡趲讓?,以便信息的定向傳輸?/p>
Level字段:用來標(biāo)識(shí)當(dāng)前傳感器節(jié)點(diǎn)的層次信息。與Coordinate字段結(jié)合,共同確定節(jié)點(diǎn)位于網(wǎng)絡(luò)拓?fù)渲械膶訑?shù),以此來確保數(shù)據(jù)只能從高層次節(jié)點(diǎn)向低層次節(jié)點(diǎn)傳輸。
Data字段:用來記錄傳感器節(jié)點(diǎn)檢測(cè)到的實(shí)時(shí)用戶數(shù)據(jù)。
3? ?實(shí)驗(yàn)分析(Experimental analysis)
3.1? ?實(shí)驗(yàn)設(shè)置
本次實(shí)驗(yàn),采用在一個(gè)1.5m*2m的平面隨機(jī)分布20個(gè)節(jié)點(diǎn)來模擬人體隨時(shí)變化的網(wǎng)絡(luò)拓?fù)鋄9]。每一個(gè)節(jié)點(diǎn)的初識(shí)能量為100。
節(jié)點(diǎn)的能耗為:
其中,Size表示數(shù)據(jù)包的大小,At傳輸角度是一個(gè)離散值,本文中令A(yù)t=2。
本文用兩個(gè)常用的路由算法作為對(duì)比算法,分別是:
Comparing Algorithm 1:使用與本文網(wǎng)絡(luò)相應(yīng)的隨機(jī)游走算法。
Comparing Algorithm 2:Dijkstra最短路徑算法。
3.2? ?實(shí)驗(yàn)結(jié)果分析
網(wǎng)絡(luò)生存周期隨網(wǎng)絡(luò)層數(shù)的變化曲線如圖4所示。
圖4 網(wǎng)絡(luò)生存周期隨級(jí)別個(gè)數(shù)變化圖
Fig.4 Network lifetime changes with the number of levels
圖4中,當(dāng)Level=1時(shí),表示體域網(wǎng)中所有傳感器節(jié)點(diǎn)不需要通過中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),而是直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)。因此,這時(shí)的傳感器能量損耗都是由通信產(chǎn)生,三種路由算法基本相同;當(dāng)Level數(shù)量不斷增加時(shí),Comparing Algorithm 1的網(wǎng)絡(luò)生存周期最短。這是由于隨機(jī)游走算法的中繼節(jié)點(diǎn)是隨機(jī)選擇的,這可能帶來的結(jié)果是其路由選擇不僅不是能量最優(yōu)也不是路徑最優(yōu);Comparing Algorithm 2較Comparing Algorithm 1略有提升。這是由于最短路徑算法的傳輸路徑較短,因此能量損耗較小,網(wǎng)絡(luò)生存周期有所改善;本文提出的動(dòng)態(tài)路由算法,基于節(jié)點(diǎn)剩余能量選擇中繼路由,因此能夠在層數(shù)逐漸變大時(shí),消除最外層傳感器節(jié)點(diǎn)由于長距離傳輸而導(dǎo)致的生存周期瓶頸,同時(shí),減少了內(nèi)層節(jié)點(diǎn)的能量消耗,顯著地提升了網(wǎng)絡(luò)生存周期。
當(dāng)傳感器節(jié)點(diǎn)數(shù)量增加時(shí),網(wǎng)絡(luò)的生存周期與節(jié)點(diǎn)密度關(guān)系如圖5所示。
令Level=2,調(diào)整網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目。
圖5 網(wǎng)絡(luò)生存周期隨網(wǎng)絡(luò)規(guī)模變化圖
Fig.5 Network lifetime changes with network scale
圖5中,隨著網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目增多,層次數(shù)較高的節(jié)點(diǎn)會(huì)承擔(dān)更遠(yuǎn)距離的數(shù)據(jù)傳輸,而層次數(shù)較低的節(jié)點(diǎn)會(huì)承擔(dān)更大的數(shù)據(jù)流量,數(shù)據(jù)的通信和轉(zhuǎn)發(fā)開銷都增大,因此生存周期減少。但相對(duì)于Comparing Algorithm 1隨機(jī)游走算法和Comparing Algorithm 2最短路徑算法,本文提出的動(dòng)態(tài)路由算法,由于是基于節(jié)點(diǎn)剩余能量選擇中繼路由,因此對(duì)網(wǎng)絡(luò)生存周期有較為明顯的改善。
4? ?結(jié)論(Conclusion)
本文以改善體域網(wǎng)網(wǎng)絡(luò)生存周期為目的,提出了一種基于卡爾曼濾波的動(dòng)態(tài)路由算法算法。通過與隨機(jī)游走路由算法和最短路徑路由算法對(duì)比,在不同的網(wǎng)絡(luò)層次及不同網(wǎng)絡(luò)規(guī)模(密度)的條件下對(duì)比網(wǎng)絡(luò)生存周期,驗(yàn)證了本文提出的算法對(duì)生存周期有一定的改善。基于不同姿態(tài)自適應(yīng)路由將是進(jìn)一步的研究方向。
參考文獻(xiàn)(References)
[1] 豐惠.無線體域網(wǎng)中可靠高效數(shù)據(jù)傳輸策略研究[D].中國科學(xué)技術(shù)大學(xué),2014.
[2] 盧先領(lǐng),彭能明,徐保國.無線體域網(wǎng)中能量高效且可靠的自適應(yīng)路由協(xié)議[J].電子與信息學(xué)報(bào),2013(6):1520-1524.
[3] 周岳斌,陳家順,馬賀賀,等.無線體域網(wǎng)節(jié)點(diǎn)數(shù)據(jù)壓縮節(jié)能方法[J].傳感器與微系統(tǒng),2017,36(11):10-13.
[4] 彭能明,金智明.基于轉(zhuǎn)發(fā)節(jié)點(diǎn)的無線體域網(wǎng)節(jié)能策略研究[J].杭州電子科技大學(xué)學(xué)報(bào),2011,31(06):103-106.
[5] 劉漢春,劉靜,徐友云,等.基于臨時(shí)節(jié)點(diǎn)的無線體域網(wǎng)高效節(jié)能路由算法[J].信息技術(shù),2010,34(06):1-5;28.
[6] 梁正友,姚玉梅.IEEE 802.15.6中能量有效的無線體域網(wǎng)拓?fù)浣Y(jié)構(gòu)優(yōu)化研究[J].通信學(xué)報(bào),2016,37(06):1-10.
[7] 顧正強(qiáng),彭浩,吳援明.無線體域網(wǎng)中的人體通信關(guān)鍵技術(shù)研究[J].通信技術(shù),2017,50(09):1968-1975.
[8] 沈羽翔.無線體域網(wǎng)的節(jié)能策略技術(shù)研究[J].通訊世界,2017(23):75-76.
[9] 李燕香.基于網(wǎng)絡(luò)編碼的BAN數(shù)據(jù)可靠通信方法研究[D].吉林大學(xué),2016.
作者簡(jiǎn)介:
李燕香(1994-),女,碩士,助教.研究領(lǐng)域:無線體域網(wǎng).
曹小鳳(1989-),女,碩士,講師.研究領(lǐng)域:人工智能,數(shù)據(jù)挖掘.