賈燕燕, 謝志軍, 經 貞
(寧波大學 信息科學與工程學院,浙江 寧波 315211)
無線技術在遠程醫(yī)療和移動醫(yī)療上的應用產生了一種新型的無線網絡—無線體域網絡[1](wireless body area network,WBAN)。低功耗的設計思想貫穿著WBAN的各個層面[2]。降低傳輸能耗、延長網絡生存期需要解決2個問題:在每個時隙開始時依據何種調度算法來選擇節(jié)點進行傳輸和選擇的節(jié)點依據何種功率控制算法選擇發(fā)射功率。
目前,調度方法分為集中式和分布式兩種:1)集中式方法需要收集整個網絡全部節(jié)點的當前信道信息,在宿(Sink)節(jié)點進行統(tǒng)一調度[3],其對資源的要求較高,擴展性差;2)分布式方法中各節(jié)點根據本地信息,判斷下一時隙是否傳輸數據,其相對靈活,已成為調度算法的主流。文獻[4]給出了三種分布式調度算法:隨機調度算法假設節(jié)點在物理層無差,在時隙來臨時隨機調度一個節(jié)點;機會調度算法調度激活節(jié)點中當前鏈路狀況最好的節(jié)點;保守算法調度剩余能量最多的節(jié)點。文獻[5]根據生存期標準,提出了最大化生存期動態(tài)策略算法(dynamic protocol for lifetime maximization,DPLM)并證明了該算法近似達到生存期最優(yōu)值。文獻[6]首次考慮無線鏈路質量的易變性,提出了一種類似TCP協(xié)議的乘增加減功率控制算法(multiplicative increase additive decrease, MIAD),算法可在鏈路條件惡劣時迅速作出調整。文獻[7]根據不同的人體姿勢建立不同的曲線方程,提出了動態(tài)姿勢推測(dynamic postural position inference, DPPI)算法。文獻[8]在功率控制之前先進行鏈路質量判斷,再選擇相應的鏈路質量表征參數。
上述傳輸調度與功率控制算法存在的問題有:1) 現(xiàn)有的調度策略研究均單方面追求生存期最大化,而未考慮WBAN中各個節(jié)點監(jiān)測的不同生理信號有不同的數據傳輸需求,使一些信道質量差或剩余能量多的節(jié)點長期處于饑餓狀態(tài);2)現(xiàn)有功率控制的核心基于鏈路質量與傳輸功率的函數關系,但無論是初始化時靜態(tài)的函數關系,還是運行時根據環(huán)境選擇的動態(tài)函數關系,均無法將兩者復雜的關系簡單的表示。
本文參考文獻[9],分節(jié)點調度和功率控制兩方面解決問題。針對第一個問題,借鑒文獻[10]的公平性思想,對DPLM算法進行了改進,在能效指數設計中加入公平性指數,使算法在滿足節(jié)點傳輸要求的基礎上最大化網絡生存期。針對第二個問題,將基于比例—積分—微分的單輸出的神經網絡(single-out proportion integral differential neural network,SPIDNN)算法引入到功率控制中,根據當前鏈路質量閾值的差值動態(tài)地將功率值調節(jié)到合適大小。
分布式調度算法通過引入能效指數對問題建模,每個數據傳輸周期中各節(jié)點計算自身的能效指數,根據能效指數與退避時間的函數關系計算退避時間,在達到退避時間時進行數據傳輸,具體如圖1所示。
圖1 分布式調度原理
調度算法的實質是能效指數的設計。能效指數γk是一個衡量調度優(yōu)先級的系數,一般為節(jié)點本地信息的函數,如信道質量、剩余能量等。能效指數γk的函數關系用g表示為
γkg(x,y,z,…)
(1)
式中x,y,z為本地節(jié)點信息的不同參數,其中g(x,y,z)相當于一個策略,在機會調度算法中參數為鏈路質量信息,在保守算法中參數為剩余能量。
根據文獻[3]中對網絡生存期的公式分析可知,調度策略需要將節(jié)點剩余能量和傳輸能量均考慮在內,將二者平衡實現(xiàn)整個網絡生存期最大化。DPLM算法在能效指數設計中同時考慮了節(jié)點剩余能量和當前鏈路質量,對機會調度算法和保守算法進行折中,提出了一種根據網絡時間動態(tài)調節(jié)能效函數的方法,即在網絡年輕時給信道狀況好的節(jié)點更大的能效函數值,在網絡年老時采取更保守的方法,給剩余能量多的節(jié)點更大的能效函數值。在DPLM中,能效指數參數為鏈路質量與剩余能量,其將能效指數定義為當前鏈路質量所需的傳輸能量占剩余能量的比值。
(2)
其中
(3)
式中Wn為在保證一定接收信噪比條件下向Sink結點傳輸一個數據包的能量;Ec為傳輸電路消耗的能量;γk(l)為第k個節(jié)點在第l個時隙的信道質量。
退避時間f(γ)是能效指數γ的嚴格減函數,即調度算法優(yōu)先考慮能效指數大的節(jié)點進行調度,能效指數大的節(jié)點擁有較少的退避時間。兩者的函數關系如圖2所示。
圖2 退避時間與能效指數的函數關系
在數據傳輸時隙,當有多個傳感器節(jié)點同時發(fā)出數據傳輸請求時,節(jié)點根據本地信息,通過函數g()計算出能效指數γk,再依據γk與退避時間f(γ)的函數關系計算出退避時間τ,在達到退避時間時進行數據傳輸。
SPIDNN自適應網絡功率機制算法是一個嵌入了PID規(guī)則的三層前向神經元網絡,為2×3×1結構,如圖3。
圖3 PID控制器原理
其輸入層有2個神經元,接收外部輸入信息,r為期望值,y為反饋值;隱含層有3個神經元,分別為比例、積分和微分神經元,分別完成比例、積分和微分運算;輸出層只有一個神經元,完成控制規(guī)律的綜合和輸出。SPIDNN屬于多層前向神經元網絡的范疇,具有多層前向網絡對任意函數的逼近功能。每一個SPIDNN的小神經單元由3個部分組成,輸入net、狀態(tài)u、以及輸出x,隱含層的3個神經元分別為比例元、積分元和微分元,分別對輸入信號進行比例、積分和微分處理。其基本原理如圖3所示。
考慮到各節(jié)點對數據傳輸速率、在WBAN中的重要程度、延遲時間等參數均有不同差異,改進DPLM算法在能效指數設計中加入了數據傳輸速率參數。算法需要根據節(jié)點以往的調度情況對能效指數進行調整。如提高長期未調度節(jié)點的能效指數。因此,能效指數定義為節(jié)點剩余能量、傳輸能量、數據傳輸速度三者的函數。
對節(jié)點傳輸速度的歷史數據進行移動加權求平均數。在每個調度時隙l開始時,通過式(4)更新數據速率的移動加權平均值
(4)
(5)
其中,R0k對于不同的傳感器節(jié)點k,有不同的標準。綜合考慮能效指數設計的兩個條件,定義節(jié)點k的能效指數為
(6)
借鑒DPLM中將能效指數與退避時間的減函數設計,結合WBAN的時序。基于各節(jié)點信息的調度算法的分布式實現(xiàn)將在增加生命期和保持公平性上達到平衡。具體算法步驟如下:
1)每個數據傳輸時隙初始,Sink節(jié)點廣播一個信標。
2)每個節(jié)點接收信標,并用此評估自身當前信道質量。
3)各節(jié)點根據信道質量計算定義的公平性權值wk,通過預設的退避函數f(w)將其公平性權值wk和退避時間進行匹配。
4)達到節(jié)點退避時間τk時進行數據傳輸;否則,進入休眠或監(jiān)聽狀態(tài)。
改進DPLM算法公平性標準的設計思想是衡量實際傳輸次數與期望的偏離程度,將其定義為公平性指數
(7)
式中fx,fy為傳感器節(jié)點x和y在一段固定時間內實際傳輸次數與期望傳輸次數的比值。當F=0時算法完全公平,F(xiàn)越高,公平性越高;反之,公平性越低。
在無線通信中,用無線鏈路質量來查看通信節(jié)點的性能,其中,收包率能最直觀地表示這一性能,但收包率的統(tǒng)計是一個長時間的統(tǒng)計數據,對于鏈路質量的測量具有延時性,不能及時地獲得鏈路質量,從而無法通過動態(tài)調整及時提高鏈路質量,收包率和RSSI存在一定的線性關系,且RSSI在無線鏈路中測量的是一個實時數據,因此,本文通過RSSI來查看無線鏈路的質量。根據802.15.4標準,當接收節(jié)點的RSSI值大于-85dBm時,可保證1%的誤包率 (packet error rate,PER),本文實驗中選取-85dBm作為RSSI的閾值。
功率控制分為功率初始化和數據傳輸2個階段:1)WBAN中的各個節(jié)點先將發(fā)射功率統(tǒng)一成初始值,通過功率控制算法將傳輸功率調節(jié)到閾值范圍內,為數據傳輸階段做準備;2)利用初始化階段已經調節(jié)好的功率值進行發(fā)送,在數據傳輸過程中判斷RSSI均值是否在閾值范圍內,若在閾值范圍內,繼續(xù)傳輸;否則,調用功率控制算法。流程如圖4所示。
圖4 功率控制流程
算法采用閉環(huán)反饋控制,輸入為RSSI與閾值之間的誤差,輸出為功率調節(jié)量,被控對象為傳輸模塊的功率控制單元。仿真實驗中,包括3個節(jié)點:控制節(jié)點(Sink),同時也作為接收節(jié)點;傳感器節(jié)點(發(fā)送節(jié)點);干擾節(jié)點。具體如圖5所示。
圖5 功率的閉環(huán)反饋控制
系統(tǒng)選擇3個 TrueTime Kernel 計算機模塊,一個TrueTime Wireless Network無線網絡模塊。3個計算機模塊仿真3個節(jié)點,各節(jié)點分別作為系統(tǒng)的傳感器/執(zhí)行器、控制器以及一個干擾節(jié)點,調度采用prioFP策略。傳感器為時鐘驅動器,模擬人體的傳感器節(jié)點定期對生理特征信息進行采樣,如心率、脈搏等??刂破鞴?jié)點為事件驅動,模擬體域網中的Sink節(jié)點控制傳感器節(jié)點的發(fā)射功率。由于單個體域網通信距離較短,假設兩個模塊的距離為1.2m,基于室內有障礙區(qū)域的路徑損耗指數在4~8[11],人體環(huán)境較復雜,鏈路質量依賴于人體移動[12],所以本文算法路徑損耗指數取5.8。兩者通過無線網絡模塊通信,無線網絡采用802.15.4/ZigBee方式,數據傳輸速率為10kbps。傳感器節(jié)點周期性采樣,通過無線網絡將數據傳給控制器節(jié)點。控制器節(jié)點通過功率控制算法將功率調節(jié)量通過無線網絡傳給執(zhí)行器進行功率更新并量化。
本文在相同的仿真環(huán)境下,對比了經典的MIAD、傳統(tǒng)PID算法以及本文的SPIDNN算法,如圖6所示為3種算法的發(fā)射節(jié)點的發(fā)射功率。
圖6 3種算法傳輸功率
通過2個指標來評價傳輸功率的效果:1)數據包成功接收率 (packet delivery radio,PDR),%;2)發(fā)送2000個數據包的總耗能, mJ。每個包消耗的能量由相應輸出功率級別對應的電流消耗計算得到,表1為算法對比結果。
表1 功率控制算法的比較
仿真采用Omnet++內含的針對傳感器網絡的專業(yè)框架MiXiM。設計了1個Sink節(jié)點和6個傳感器節(jié)點,布置于300 cm×300 cm區(qū)域。節(jié)點均勻分布在150 cm半徑圓,而Sink節(jié)點置于圓中心。采用星型拓撲結構,如圖7所示。
圖7 仿真實驗節(jié)點部署
包的有效載荷大小被固定為60 B。傳感器節(jié)點傳輸數據使用2.4 GHz的RF頻段,仿真時間為2 000 s。具體的仿真參數設計如表2所示。傳輸電路的能量消耗Ec為1 mJ,6個節(jié)點的期望數據傳輸速度分別為R0k={0.5,1,2,5,10,12},kbps,各節(jié)點?k設為{0.1,0.5,0.6,0.7,0.8,0.9}。τmax設置為5個時隙,退避函數設定為τ=5/γ+1。
表2 仿真實驗參數設置
首先比較各節(jié)點初始能量與網絡生存期之間的關系,如圖8所示。DPLM由于同時考慮了傳輸能量和剩余能量,因此相較其他3種方法獲得最大網絡生存期。本文算法由于在DPLM能效函數的基礎上加入了數據傳輸速率這一參數,考慮了原本能效指數小且長期未被調度的節(jié)點,減少了網絡傳輸的異常,對網絡的時隙分配進行了均衡,因此,網絡生存期略高于DPLM算法且遠遠高于其他3種傳統(tǒng)調度方法。
圖8 5種算法網絡生存期比較
利用式(7)定義的網絡公平性指數比較本分布式調度方法與4種經典調度方法在200個時隙內的公平性指數,每20個時隙隨機抽取一個公平性指數繪制圖9。公平性指數隨著網絡建立的時長逐漸趨于穩(wěn)定。由于4種經典算法均未考慮不同傳感器節(jié)點的傳輸速率差異,僅單純從網絡生存期的角度設計,因此,公平性指數均很低。本文算法由于在每個時隙計算出的能效指數中將各節(jié)點傳輸速率考慮在內,從而能在長時間內滿足各節(jié)點的傳輸速度要求,將公平性指數控制在合理范圍。
圖9 5種算法網絡公平性指數的比較
提出了一種基于SPIDNN的功率控制算法和一種改進的DPLM調度算法,解決了WBAN低能耗設計的兩個問題。仿真實驗表明:提出的功率控制算法節(jié)點平均能耗優(yōu)于傳統(tǒng)算法,以此為基礎的調度算法在滿足了各節(jié)點傳輸速率要求的同時,增大了網絡生存期,提高了網絡的公平性。
[1] 王 豐.運動姿態(tài)下無線體域網高能效技術研究[D].長春:吉林大學,2016.
[2] 鄧世洲,高偉東,胡 煒,等.無線體域網技術研究現(xiàn)狀與展望[J].傳感器與微系統(tǒng),2014,33(11):1-4.
[3] Bradai N,Fourati L C,Kamoun L.WBAN data scheduling and aggregation under WBAN/WLAN healthcare network[J].Ad Hoc Networks,2015,25(2):251-262.
[4] Chen Y,Zhao Q.On the lifetime of wireless sensor networks[J].IEEE Communications Letters,2005,9(11):976-978.
[5] Chen Y,Zhao Q.An integrated approach to energy-aware medium access for wireless sensor networks[J].IEEE Transactions on Signal Processing,2007,55(7):3429-3444.
[6] Xiao S,Dhamdhere A,Sivaraman V,et al.Transmission power control in body area sensor networks for healthcare monitor-ing[J].IEEE Journal on Selected Areas in Communications,2009,27(1):37-48.
[7] Quwaider M,Rao J,Biswas S.Transmission power assignment with postural position inference for on-body wireless communication links[J].ACM Transactions on Embedded Computing Systems(TECS),2010,10(1):14.
[8] Kim S,Kim S,Eom D S.RSSI/LQI-based transmission power control for body area networks in healthcare environment[J].IEEE Transactions on Information Technology in Biomedicine,2013,17(3):561-571.
[9] 田新越,李翔宇.無線傳感器網絡節(jié)點任務調度與功耗管理算法研究[J].傳感器與微系統(tǒng),2016,35(2):9-11.
[10] Ibrahim L,Osman H,Osman A,et al.Impact of power consumption in sensors life time for wireless body area networks[J].International Journal of Grid and Distributed Computing,2016,9(8):97-108.
[11] 張建輝,申興發(fā),陳積明,等.基于PID算法的無線傳感器網絡傳輸功率控制研究[J].傳感技術學報,2007,20(1):177-182.
[12] Javaid N,Ahmad A,Khan Y,et al.A relay-based routing protocol for wireless in-body sensor networks[J].Wireless Personal Communications,2015,80(3):1063-1078.