莫磊 胥布工
(華南理工大學自動化科學與工程學院,廣東廣州510640)
無線傳感器網絡(WSN)是由大量傳感器節點通過無線通信技術自組織構成的網絡,它集成了傳感器、計算機、通信與信號處理等多個領域的技術.其目的是感知、采集和處理網絡覆蓋范圍內感知對象的信息,是以數據處理為中心的系統.為了獲取精確的信息,在監控區域內通常部署大量傳感器節點.隨著傳感器節點個數的不斷增多,傳統的集中式算法已經不能滿足當前需要.因為傳感器節點的資源十分有限,由單個節點承擔所有任務容易造成節點的過早衰竭,形成路由空洞,所以必須采用高效的協同算法.無線傳感器節點大多部署在環境復雜的區域,通常采用電池供電,能量供應十分有限,因此如何合理、高效地利用現有資源來最大化網絡節點的生命周期一直是研究的熱點,而能量模型的建立與優化是進行能效分析的關鍵因素[1-5].
針對WSN,人們已經提出了許多的能量模型,文獻[2]中根據電磁場能量擴散理論和電路能量消耗理論,推導出傳感器網絡中普通節點、匯聚節點和簇首節點的能量模型.文獻[3]中通過實驗數據分析了具有通信和計算能力的節點在固定模態下的能量消耗及壽命.文獻[4]中提出了基于功率控制管理的MSN能量模型,通過對無線功率的動態分配及采用不同的休眠機制來提高能效.文獻[5]中提出了一些降低網絡能耗的策略,如選擇高能效的調度算法、低功耗的處理器和傳感器或高容量的電池等.但上述能量模型大多是基于網絡拓撲結構、路由協議能耗的優化策略或單個能耗部件固定狀態而建立的,極少考慮硬件底層及狀態轉換機制的耗能情況,模型較為粗略.為此,文中從無線傳感器節點的整體角度出發,對節點的各主要能耗部件的工作狀態及轉換關系進行了分析和建模,優化節點的調度跟蹤算法,以減少節點間的數據通信量,達到降低節點整體能耗、延長網絡壽命的目的.
現有WSN定位跟蹤研究主要集中在跟蹤算法的理論性分析上[6],為了能對WSN定位跟蹤算法的實際性能進行測試、分析及優化,縮小理論與實際之間的差距,文中設計并構建了一套WSN目標跟蹤實驗物理平臺,該平臺的架構如圖1所示.

圖1 實驗平臺架構Fig.1 Structure of test bed
該實驗平臺主要由硬件和軟件兩部分組成,其中硬件部分包括:(1)由Micaz節點、SRF08超聲波傳感器、GH718被動紅外傳感器(PIR)和7.2V鋰電池組成的無線傳感器節點;(2)由Micaz節點與MIB510網關組成的無線數據收發基站;(3)用戶端電腦.軟件部分包括用Labview開發的上層監控系統和實現調度算法的下層節點NesC嵌入式程序.
SRF08超聲波傳感器與Micaz節點間通過MDA100CB數據采集板來連接.基站與用戶端通過RS232接口相連,用戶端電腦可以接收傳感器節點發送上來的數據,實時顯示目標的狀態信息.SRF08超聲波傳感器的探測范圍為一個約60°的扇形,處于監控區域中心位置的節點安裝6個SRF08超聲波傳感器,4個角上的節點安裝2個,其余位置的節點安裝3個.節點的測距模式為多傳感器同時觸發,從中選取最小的測量值作為目標測距值.為了減少節點間的相互干擾,節點應均勻分布,且超聲波傳感器的探測距離要與節點間距相互配合.
PIR可以感應目標的存在,僅讓目標附近的超聲波傳感器處于工作狀態,而且PIR不會主動向外發射能量,所以自身的能耗極小,能夠很好地節省節點能量.GH718 PIR的感應角為110°,有效距離為2m,安裝位置和個數與超聲波傳感器一一對應,兩者之間通過觸發控制電路連接.
在跟蹤過程中,為了節省節點能量,形成有效的跟蹤組管理機制,文中采用了喚醒/休眠方法,即根據目標當前的位置進行節點動態分簇:隨著目標的不斷移動,目標附近的節點自發地形成動態跟蹤簇,負責目標的檢測與跟蹤,而遠離目標的節點則進入休眠狀態,跟蹤過程如圖2所示.

圖2 移動目標跟蹤過程示意圖Fig.2 Schematic diagram of tracking process ofmoving target
節點動態分簇算法描述如下:

Dt滿足為節點間距,在實際平臺中D=1.2m,Dt=1.5m.節點的狀態信息包括節點標識號id和節點坐標(x,y).每個節點的簇隊列表包括了簇內節點的個數以及各節點的標識號.每啟動一個節點更新一次簇隊列表,待全部節點啟動完畢后,每個節點都形成了自己的簇隊列表,從而建立了整個網絡的簇隊列表.通過上述動態分簇,每個簇在每輪的跟蹤過程中都有其相應的活躍期與休眠期,既能節約節點能量,又能有效地減少簇內節點間的信道干擾.
從該平臺的硬件結構來看,耗能部件包括:Micaz節點、SRF08超聲波傳感器和GH718PIR.其中Micaz節點的主要耗能部件包括微處理器(CPU)、無線通信模塊(CC2420)、數據采集板(MDA100)和存儲單元(EEPROM),各部件的每個狀態組合在一起形成了整個節點的狀態.能量模型的精確程度取決于納入計算范圍的部件種類、工作流程及執行時間.
建立能量模型的基本思路是在節點跟蹤過程中,根據源代碼的實際執行情況決定操作哪些耗能部件,針對工作的耗能部件,通過程序流程計算該部件的工作時間,再乘以相應工作模式下的功率得出該部件在這個工作任務過程的能耗,把工作任務所調用的所有部件的能耗累加起來就得到節點為完成這個工作任務的總能耗.在文獻[7-8]的基礎上,文中建立的無線傳感器節點各部件的工作狀態及能耗模型參數如表1所示.其中SRF08超聲波傳感器的測距持續時間為65ms.

表1 傳感器節點的能耗Table 1 Energy consumption of sensor nodes
結合實際平臺,根據納入功耗計算的部件,文中建立的功率矩陣是一個6×3的矩陣:

相對于集中式算法,分布式協同算法由于采用了模塊化計算與控制,數據傳輸的開銷、丟包和時延更小,因而更適合于無線傳感器網絡.節點間的協同工作可降低單節點失敗的風險,縮短跟蹤采樣周期,具有良好的擴展性和可靠性.
由于傳感器節點的計算、存儲和通信能力都是十分有限的,復雜的調度算法難以在由資源有限的節點組成的實際平臺中實現.所以文中提出了一種易于在實際平臺中實現的能量均衡協同調度算法,把復雜的跟蹤問題分解為可以運行在資源有限的傳感器節點上的子任務.
在擴展卡爾曼濾波器(EKF)預測方程中,第k步的目標狀態誤差協方差矩陣為式中:狀態估計誤差為數學期望函數;目標狀態的最小均方估計誤差,即


也就是說,目標狀態估計誤差協方差矩陣的跡表示了跟蹤精度.因此,誤差協方差矩陣的跡越大表示跟蹤精度越差,反之表示跟蹤精度越好.
作為任務節點的簇首節點會觸發超聲波測距,根據上一時刻的目標狀態和當前節點的測量值,通過EKF更新目標的狀態信息并把該信息廣播出去,用戶端電腦可以接收并顯示相應的運動軌跡.
當簇首節點廣播目標狀態信息后,會啟動一個等待返回信息定時器,如果在規定的時間tw內沒有收到簇內節點返回信息J(k),則認為其它節點的綜合性能指標太差,自己仍然作為下一時刻的任務節點.簇內節點的延時返回時間tr與綜合指標的大小J(k)成正比,即tr=KJ(k),表明最先返回信息的是簇內綜合指標最好的節點.簇首節點接收到第一個返回信息后立即廣播停止命令,使得其余節點停止當前任務并處于休眠狀態,然后比較自己的和接收到的綜合指標,從中選取最優的作為下一時刻的任務節點.這種分布式協同算法能夠很好地處理簇內節點信息不足或冗余的情況,減少單節點失效的風險,提高系統的可靠性及執行效率.
文中在節點調度策略中加入了能量模塊,在保證跟蹤精度的同時考慮了節點的剩余能量,均衡節點間的能量消耗,避免由于同一節點多次作為簇首而造成該節點的過早衰竭,形成路由空洞.傳感器節點調度的綜合性能指標為

式中:α為跡權重因子;θ為能量匹配因子,用于使能量與跡的大小處于同一數量級上;EL(·)為節點的剩余能量.α的值取決于實際系統的性能指標要求,文中取α=0.5.
能量均衡協同調度算法描述如下:

在該調度算法中,tw與tr的相互配合是算法能否順利實現的關鍵.若簇內各節點的tr相差不大,則多個返回信息會同時發送回簇首節點,造成任務流程的突然中斷.若tw和tr過長,則會增大節點的采樣周期,當移動目標速度突變或轉向過快時,容易造成跟蹤目標的丟失.為了建立與功率矩陣對應的時間矩陣,計算節點的能耗及剩余能量,需要詳細分析算法的時序流程及部件間的工作狀態轉換.
節點的硬件特性是確定時序流程的關鍵因素.Micaz通信模塊的數據發送速率為250 kb/s.在數據發送前,TinyOS會有一個信道偵聽過程,持續時間約為8.200ms[9].EEPROM的讀取時間約為0.565ms,寫入時間約為12.900ms.執行一次EKF算法的時間約為8.500ms[9].超聲波測量值的采樣周期要與探測范圍相互配合,在實驗平臺中設置為70ms,根據各部件工作參數及調度算法流程,可以得到調度算法的時序分析如圖3所示.

圖3 調度算法的時序流程圖(單位:ms)Fig.3 Flowchart of sequence of scheduling algorithm(Unit:ms)
通過平臺實驗數據可知tr(P)通常處于15~25之間,通過仿真實驗可得EL的大概分布,通過設置K及θ使tr約為15~25ms.根據tr設置簇首節點的tw為80ms,則傳感器節點的采樣周期Ts約為130~220ms.由于文中實驗平臺是一個變采樣周期系統,且通過硬件特性會引入一些隨機誤差,如丟包、時延、測量噪聲等,所以該平臺對移動目標速度的大小及形式有一定的要求.
根據協同調度算法時序及與平臺對應的功率矩陣,文中建立了一個6×3的時間矩陣T:

式中,tc_a和tc_i分別為處理器模塊在工作和空閑模式下的工作時間,tr_t、tr_r和tr_i分別為無線發送模塊在發送、接收和空閑模式下的工作時間,te_r和te_w分別為存儲模塊在讀取和寫入模式下的工作時間,tm為數據采集板的工作時間,ts_a和ts_i分別為超聲波傳感器在工作和空閑模式下的工作時間,tp為被動紅外傳感器的工作時間.
在目標跟蹤過程中,節點按照其工作狀態可分3種:(1)簇首節點,負責目標的檢測;(2)簇內節點,參與跟蹤任務的計算與通信;(3)簇外節點,處于休眠狀態.各類節點能耗部件的工作時間是不一樣的,所以相應的時間矩陣也不同,簇首、簇內成員和簇外節點的時間矩陣分別為

所以節點在完成第l次計算周期的耗能Enl為

則節點的剩余能量為

式中,Eini為節點的初始能量為節點消耗的能量.根據節點類型,計算相應的功率矩陣和時間矩陣,就可以得到無線傳感器網絡內節點的剩余能量.
在無線傳感器網絡節點中,通信模塊消耗了大量的能量[10],從圖3中可知,數據通信量主要集中在簇首節點向簇內節點發送目標狀態信息時,所發送的信息體中包含了16 b的發送信息節點標識號id、16b的接收節點的地址信息add、8 b的接收節點所要執行的命令代碼cmd、128 b的目標狀態信息和512 b狀態誤差協方差矩陣,其中X和P所含的數據量最大.因為發送的比特數越多,耗時和耗能就越大,為了節省通信能耗,延長網絡壽命,提高數據傳輸的實時性,文中使用二維坐標量化器和壓縮卡爾曼濾波算法(CKF)來對狀態X和矩陣P進行量化處理.
Gersho等[11]已經證明了最優的二維均勻量化器是六邊形量化器,但對于追蹤問題,需要對目標位置信息進行實時處理.結合菱形量化器易于實現和數據量化實時性高的特點,文中在文獻[12]的基礎上設計了一種帶預量化的六邊形均勻量化器,其結構如圖4所示.其中f(x)為一個非線性變換,其作用是把以六邊形劃分的平面區域映射為相對應的菱形區域,表達式為

式中:n為搜索系數,由x和量化器采樣步數Δ決定.

圖4 二維坐標量化器的結構Fig.4 Structure of two-dimension quantizer



通過以上算法,可以用量化坐標信息索引號(i,j)來代替目標坐標(x(k),y(k)),而對于目標速度(vx(k),vy(k)),可以使用相同的方法進行量化,所以量化信息中包含了坐標信息索引號和式(9)對角線上的元素.經過數據量化算法處理后,目標狀態信息量由原來的128b壓縮為32 b,而且只需發送4個32b的浮點型數據就可以代替原來由16個32 b的浮點型數據組成的矩陣,減少了節點間的數據通信量,節省了通信能耗,提高了數據傳輸的實時性.
構建的WSN跟蹤平臺部署在一個3.6m×3.6m的方形區域內,其中均勻分布的16個傳感器節點作為位置已知的固定節點,節點間距為1.2m,以Mobile-Robots公司的AmigoBot應用型機器人作為移動跟蹤目標,機器人的運動軌跡為“2”字型,速度約為0.35 m/s.上層Labview監控系統可實時顯示接收到的傳感器節點監測數據,即移動目標機器人的狀態信息,并將其保存在Excel表格中,通過Matlab7.0讀取這些數據并對其進行分析.移動目標運動軌跡如圖5所示.從圖5可知:在目標起步處,由于速度突變,采樣點間隔變化較大;在轉彎處,由于運動變向,偏離了系統的常速率模型,跟蹤誤差較大,但平臺采用的EKF跟蹤算法通過引入實際測量值來校正誤差,所以在隨后的過程中誤差逐漸減小.
為進一步分析文中算法的跟蹤性能、誤差和能耗,使用Matlab7.0進行仿真,仿真參數設置如下:監測區域12m×12m,N=121,超聲波傳感器測距范圍Ds=1.6m,Dt=1.5m,Micaz節點電壓Vm=3.3V,超聲波、被動紅外傳感器電壓Vs=Vp=5V,節點的Eini=8000mJ.調度算法的跟蹤效果見圖6.

圖5 移動目標的狀態信息Fig.5 Statemessages ofmoving target

圖6 文中調度算法的跟蹤效果Fig.6 Tracking effects of proposed scheduling algorithm

圖7給出了傳感器節點的剩余能量分布圖.從圖7(a)可知,在使用PIR前,傳感器節點的剩余能量主要分為4個等級,剩余能量約為7950、7930和7880mJ的節點上分別安裝了2、3和6個超聲波傳感器,這3種節點屬于簇外節點,在目標跟蹤過程中沒有被調度使用過,各能耗部件均處于休眠狀態;其余節點屬于成簇節點,參與了目標的檢測與跟蹤,調用了相應的能耗部件,而其中的簇首節點承擔了大部分的檢測和通信任務,所以剩余能量是最少的.
對于沒有成簇的節點來說,由于相互間沒有通信和計算,數據無需壓縮量化,節點的工作狀態及能耗都是一樣的,從圖7(a)中可知有無量化器的簇外節點的剩余能量是一樣的.對于簇內節點來說,量化器的引入減少了數據通信量,提高了節點的剩余能量,特別是對于發送信息較多的簇首節點,如圖7(b)所示.經過數據量化后,數據通信量由原來的680b減少為200 b,發送時間由原來的2.6ms減少為0.7ms,平均剩余能量由原來的7842mJ上升為7850m J,簇首節點的剩余能量分布如圖8所示.

圖7 傳感器節點的剩余能量分布Fig.7 Distribution of left energy of sensor nodes


圖8 簇首節點的剩余能量Fig.8 Left energy of cluster-head nodes
從圖7(a)中可知,使用PIR后,簇外節點的剩余能量約為7980m J,這是因為簇外節點遠離目標,超聲波傳感器在PIR的控制下處于關斷狀態,其余部件均處于空閑狀態.只有在目標周圍的成簇節點才會消耗較多的能量,但由于使用了PIR,無論是簇首還是簇內成員,都減少了觸發超聲波和可用超聲波的個數,經過一次跟蹤任務后,使用最小跡調度算法的節點平均剩余能量約為7893mJ,而使用文中調度算法和PIR后節點的平均剩余能量可提高到7980mJ.
數據量化算法的使用會引入量化誤差,平均跟蹤誤差由原來的1.565%變為2.111%,跟蹤誤差比較如圖9所示.實驗及仿真結果表明,使用文中調度算法可均衡節點間的能量消耗,減少數據通信量,且該算法實現簡單,可運用到實際跟蹤系統中去.

圖9 兩種調度算法的跟蹤誤差比較Fig.9 Comparison of tracking errors between two scheduling algorithms
為了滿足目標跟蹤性能指標,延長網絡壽命,文中提出了基于能量優化的協同調度跟蹤算法,該算法易于在資源有限的實際平臺中實現.在節點調度過程中,簇內節點都承擔了跟蹤任務,減少了簇頭節點的數據存儲量和計算量,提高了目標跟蹤的實時性和可靠性.該調度算法綜合考慮了跟蹤誤差和剩余能量,均衡了節點間的能耗.在節點通信過程中,使用了量化器對數據進行壓縮量化,減少節點的通訊能耗,同時采用了雙重喚醒/休眠機制來提高節點的剩余能量.因此,文中調度算法能有效地節省網絡能耗,避免因節點過快衰竭造成的測距不準而形成路由空洞,盡可能地延長了傳感器網絡的壽命.
[1]曾明,危阜勝,陳冠升,等.面向目標跟蹤的WSN協同調度策略及拓撲控制[J].華南理工大學學報:自然科學版,2010,38(6):60-65.Zeng Ming,Wei Fu-sheng,Chen Guan-sheng,et al.Collaborative scheduling strategy and topology control for target tracking in wireless sensor networks[J].Journal of South China University of Technology:Natural Science Edition,2010,38(6):60-65.
[2]楊余旺,于繼明,趙煒,等.單跳無線傳感器網絡能量分析計算[J].南京理工大學學報:自然科學版,2007,31(1):81-84.Yang Yu-wang,Yu Ji-ming,Zhao Wei,et al.Energy analysis and computation of single-hop wireless sensor networks[J].Journal of Nanjing University of Science and Technology:Natural Science Edition,2007,31(1):81-84.
[3]Healy M,Newe T,Lewis E.Power management in operating systems for wireless sensor nodes[C]∥Proceedings of IEEE Sensors Applications Symposium.San Diego:IEEE,2007.
[4]Qun S.Powermanagement in networked sensor radios network energy model[C]∥Proceedings of IEEE Sensors Applications Symposium.San Diego:IEEE,2007.
[5]Rhee S,Seetharam D,Liu S.Techniques for minimizing power consumption in low data rate wireless sensor networks[C]∥Proceedings ofWireless Communications and Networking Conference.Cambridge:IEEE,2004:1727-1731.
[6]Savarese C,Rabaey J,Beutel J.Location in distributed adhoc wireless sensor networks[C]∥Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing.Salt Lake City:IEEE,2001:2037-2040.
[7]Victor S,Mark H,Borrong C,et al.Simulating the power consumption of large-scale sensor network applications[C]∥Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems.Baltimore:ACM,2004:1163-1174.
[8]Texas Instruments Inc.Chipcon AS smartRF CC2420 preliminary datasheet[DB/OL].(2004-06-09)[2010-10-08].http:∥focus.ti.com/analog/docs/enggresdetail.tsp?familyId=367&genContentId=3573.
[9]Yue K T,Xiao W D,Xie L H.A wireless sensor network target tracking system with distribute competition based sensor scheduling[C]∥Proceedings of International Conference on Intelligent Sensors,Sensor Networks and Information Processing.Melbourne:IEEE,2007:636-642.
[10]Deborah E.Wireless sensor networks tutorial part IV:sensor network protocols[C]∥Proceedings of the ACM Mobile Computing and Networking.Atlanta:ACM,2002:23-28.
[11]Gersho M,Gray R M.Vector quantization and signal compression[M].Boston:Kluwer Academic Publishers,1991:333-337.
[12]Kerry D R,Neal C G.The design of two-dimensional quantizers using prequantization[J].IEEE Transactions on Information Theory,1982,28(2):232-239.
[13]Lin JY,Xie L H,Xiao W D.Target tracking in wireless sensor networks using compressed Kalman filter[J].International Journal of Sensor Networks,2009,6(3):251-262.