在无线传感网络中,无线传感节点的工作时间和状态受到其电池能量的影响。在众多应用场合,无法对电池能量耗尽的无线传感节点进行更换[1]。而利用能量采集(energy harvesting,EH)技术可使节点从环境中采集能量,例如在桥梁上的EH节点安装太阳能电池板给传感器充电,该技术可以使节点能够连续的工作[2]。但是环境能量往往是随机变化的,这种变化性会导致EH节点采集和拥有的能量十分不稳定,所以,如何让EH节点能够克服环境能量的随机性并充分利用环境能量是十分重要的[3]。
Lin等[4]对能量采集无线传感网(energy harvesting WSN,EH-WSN[5])做出了能量模型,分析了相关参数,结合环境能量的特点对能量采集路由的优势进行了评估。Chu等[6]提出,现在的很多研究仍然集中在如何分配EH节点的剩余能量上,而不是解决环境能量的随机变化对节点的影响的问题。Eu等[7]提出的能量采集机会路由(energy harvesting opportunistic routing,EHOR)达到了让EH节点克服环境能量的随机性并充分利用环境能量的目的。该算法在筛选EH节点时,通过对节点到信宿的距离和剩余能量进行综合测算来确定优先级,并通过时隙分配来进行EH节点的相互协调,具有较高优先级的节点被分配给前面的时隙,数据包的传输时隙数由平均采集率确定。然而EHOR的能源管理模式只考虑了EH节点的当前能量和平均采集率,没有考虑节点未来的能量供应,在节点之间发送数据包时也没有相互协调。
提出并评估自适应周期机会路由(opportunistic routing with adaptive cycle,ORAC)算法,通过对EHOR算法的研究,对EHOR算法的能量管理模式与数据包的传输方式进行改进,在EHOR算法的基础上考虑能量采集率的随机性,并对EH节点进行地理分区,通过这些措施达到EH节点能量利用最大化的目的,同时,在发送数据包时使用协调消息以减少协调延误。通过和EHOR的仿真对比,ORAC在吞吐量和效率上有显著提高。
1 网络模型在EHOR算法中,EH信源节点在传输数据包之前会先判断每个节点与其的距离,再判断目标节点即时的剩余能量水平,将这两项指标进行加权平均,之后顺序对比各个节点的加权平均结果,并按照结果进行传输优先级的赋予,其中加权平均值效果好的拥有更高的优先级。在各个EH节点拥有不同的优先级后,开始对传输所用时隙数进行分配,优先级高的节点拥有前面的时隙,之后信源EH节点开始传输数据包。虽然EHOR可以比较好的完成数据包的传输,但是该算法没有考虑节点未来的能量供应,在节点之间发送数据包时也没有相互协调。在数据包的传输前对EH节点的分布进行划分,使得数据包在传输时更加稳定。需要引入新的能量模型,将节点当时的采集能量和剩余能量综合考虑,并在节点与节点的传输过程中引入协调步骤以减少传输延误。
在此基础上建立了自适应周期机会路由(ORAC)的能量模型,每个EH节点的工作周期分为活跃期和非活跃期,且每个活跃期的时间会随着节点的剩余能量的变化而变化。每个活跃期分为接收模式Mr、传输模式Mt、协调模式Mc,经历的时间分别为tMr、tMt、tMc。在非活跃期EH节点处于睡眠模式Ms,经历的时间为tMs。若已知EH节点当前的能量采集率,且能量模型会将能量用尽的节点充电到Emax。将计算在节点处于不同模式和时期下的能量消耗情况和能量采集的情况,用于判断节点的能量是否足够。假设EH节点在任意活跃期i(变量)的能量采集时间是Thar-act(i),则该期间内的能量采集率为
现在讨论EH节点处于接收和发送模式下的用时和能耗。已知在接收模式Mr下活跃期会持续tMr,当一个EH节点接收到数据包时接收模式结束,功率消耗Prx=72.6 MW,接收模式结束之后节点会转移到传输模式Mt并持续tMt。如果EH节点是数据源并且下一个节点没有接收数据包,它将发送一个新的数据包,如果它是中继节点,那它会在发送数据包的同时发送一个协调消息数据包。节点在发送数据包之前会使用载波检测来确定信道是空闲的,在发送模式下消耗的功率Ptx=83.7 MW,当发送模式结束后,节点进入协调模式Mc,在时间tMc内来接收数据包的协调消息,这是为了确保数据包能够较早发送,在协调模式的耗能几乎与接收模式时一样。
通过上述分析,可以得出节点的每个活跃期需要的最小能量为
min(Econ−act)=min(tMr)⋅Prx+tMt⋅Ptx+tMc⋅Prx, | (1) |
最大能量为
max(Econ−act)=max(tMr)⋅Prx+tMt⋅Ptx+tMc⋅Prx, | (2) |
平均能量为
E[Econ−act]=E[tMr]⋅Prx+tMt⋅Ptx+tMc⋅Prx, | (3) |
其中min (tMr)为接收模式下的最小时间,max (tMr)为最大时间,E[tMr]为平均时间。
在任意活跃期i(变量)采集的能量为
Ehar−act(i)=(tMr+tMt+tMc)⋅Phar−act(i), | (4) |
当上式中的平均能量小于活跃期采集的能量时,节点可以持续正常工作。
从提出的新的能量模型可以看出,其在对EH节点的工作状态的判断和控制上相比EHOR更加精确,在节点属性变量的运用上更加多样。
2 ORAC算法依据以EHOR为基础进行改进并提出的网络模型,将对ORAC算法进行描述。首先介绍机会路由算法,然后对分区和协调消息的使用进行讨论,最后论述节点的能量管理方法。
1)机会路由算法。
在ORAC算法中,离信宿的距离比前一跳EH节点远的节点被忽略,通过地理分区对节点赋予优先级,更靠近信宿的节点有更高的传输优先级。之后,根据距离参数还有优先级,EH节点会在不同的时隙中发送协调消息和数据包。
下面讨论相应时隙的计算。假设前一跳节点到传输候选节点的距离为dpre,区域的数量为Nzones。基于距离的用于发送协调消息的时隙可以用下式计算
sno={1+[(1−dpreR)⋅(Nzones−1)],dpre≤R,1,R<dpre。 | (5) |
除了考虑距离外,通过EH节点的剩余能量来调整优先级的赋予可以提高性能。假设节点接收完数据包的剩余能量为Eres,发送时隙sno也可以表示为
sno=γ⋅sdist+(1−γ)⋅sene, | (6) |
其中:γ为加权因子,为拥有剩余能量EH节点的比例sene可以表示为
sene=[EresEmax⋅Nzones]。 | (7) |
由于EHOR算法的EH节点不会发送协调消息,也不会对区域进行划分,因此完成相应的过程时在EHOR算法中花费的时隙会更多,效率和吞吐量也会更低。接下来介绍ORAC中EH节点如何进行地理分区以及如何使用协调消息。
2)地理分区和协调消息。
应用区划可以减少协调延误,提高传输效率[8]。与EHOR不同,在ORAC中并不为每个EH节点指定时隙,而为每个区域指定时隙,因此,总耗时缩短。它还可以使EH节点在没有其他节点的优先级信息的情况下各自确定它们的传输时隙。
如果多个活跃EH节点落在不同区域中,则在区域分配时隙时会发生冲突。如果在一些区域没有活跃EH节点,会有不必要的空时隙造成延迟。因此,必须有一种方法来计算Nzones,并设置活跃的EH节点在高概率使用的区域。
区域会对处于发送范围外面的EH节点进行处理,令这些节点以小概率来接收数据包。假设EH节点均匀地分布在各区域中且每个区域只有一个活跃节点,则在传输范围内那些最接近信宿的节点的数量为
Nzones=[probact⋅nsensor⋅Rdmax]+1。 | (8) |
由于各个EH节点所处的状态是不同的,因此每次需要重新计算probact。在得到probact的方程之前,首先要描述协调消息的使用并且计算节点在活跃期和非活跃期花费的时间。
EH节点一旦在Mr模式下接收到数据包,就开始根据优先级进行协调工作,节点从一开始就保持对信道的监听,发现是否有具有较高优先级的节点要成为下一跳,一旦发现,就放弃转发数据包,并取消协调工作。每个时隙可固定传输大小为sc=15 bytes的协调短消息,这会造成整体耗时的减少。在此有2个时隙方程,用于发送数据包的时隙为
min(tMr)=slotd, | (9) |
max(tMr)=slotd+Nzones⋅slotc, | (10) |
E[tMr]=min(tMr)+max(tMr)2, | (11) |
发送协调消息后,EH节点立即进行数据包发送。协调消息和数据包的传输发生在Mt模式下,用时为tMt=slotd+slotc。发送数据包后,EH节点转到Mc模式,等待下一跳节点接收数据包,该过程用时tMc=Nzones·slotc。
根据上述描述与方程,活跃期时间(记为tact)的最小、最大和平均预期值可以计算为
min(tact)=min(tMr)+tMt+tMc, | (12) |
max(tact)=max(tMr)+tMt+tMc, | (13) |
E[tact]=E[tMr]+tMt+tMc. | (14) |
活跃的EH节点Nact最终会进入非活跃模式,并保持状态,直到节点完全充能,需要补充的能量值依靠活跃节点的数量还有在最后阶段剩余的能量来计算。此时tMs(与非活跃期时间tinact相同)的预期平均值可以计算为
E[tMs]=Emax−E[Nact](E[Econ−act]−Phar−avg⋅E[tact])Phar−avg, | (15) |
结合公式(8),包含有这些信息的EH节点进入活跃期的概率可以被计算为
probact=E[tact]⋅E[tMr]E[Nact]⋅E[tact]+E[tinact], | (16) |
最后通过联立公式(8)和(16)可以得到非负的Nzones的值。
3)自适应节点采集能量周期管理。
EHOR算法虽然对环境能量进行了很大的利用,但其能量模型中EH节点的工作周期是固定的,导致一些节点在能量低的情况下工作,所以会造成其工作效率的低下。笔者提出的ORAC算法中针对此问题提出了EH节点的自适应采集能量的管理模式。
在ORAC中,每个EH节点拥有由活跃期和非活跃期组成的循环周期,节点在当前的周期中会对下个周期的大小进行预测,结合环境能量因素决定是否结束周期并迁移到睡眠模式或者在周期循环中转到下一个活跃期,而不是在一个循环周期中使用固定数量的活跃期,这跟EHOR算法比起来在节点操作性上有很大的提高。接下来讨论ORAC相应的能量计算问题。
使用的能量参数为现周期结束时的剩余能量、下一个周期的可用能量、一个活跃期的最小和最大的能量消耗值。假设EH节点在任意活跃期i-1(变量)结束时的剩余能量是Eres-act (i-1),则到接下来的活跃期i时剩余能量可以计算为
Eres−act(i)=Eres−act(i−1)+Ehar−act(i), | (17) |
Elo=min (Econ-act)和Ehi=max (Econ-act)分别被定义为在每个EH节点在当前活跃期能量消耗的最小值和最大值。假设节点从当前周期转到下个周期的概率为pe,其由公式(18)计算,从中可以看出,若Eres-act (i)比Elo小,节点会结束当前周期,并进入到非活跃期,即概率为1;如果比Ehi大,则保持在当前活跃期i,即概率为0;否则,概率值由EH节点在当前活跃期能量消耗的最大值与剩余能量的差值,再除以EH节点在当前活跃期能量消耗的最大值与最小值的差值决定。
pe={1,Eres−act(i)<Elo,Ehi−Eres−act(i)Ehi−Elo,Elo<Eres−act(i)<Ehi,0,Ehi<Eres−act(i). | (18) |
通过理论的分析,ORAC的EH节点在效率和有效吞吐量上比EHOR算法有显著提高,下面通过仿真来验证。
3 仿真分析使用QualNet[9]网络开发与仿真系统来评估ORAC的性能,其在仿真无线通信系统上有较高的精度。评价的性能指标有实际吞吐量,即在信宿接收的非重复的数据包的数量;还有效率,即信宿接收的非重复的数据包占所有数据包的比重(有效数据包的比重),同时通过ORAC和EHOR两个算法的对比仿真图对它们的性能进行分析。
为了便于能量模型的建立与仿真,假设一个由nsersor=20~300个EH节点组成的网络,节点在平面上的最大距离dmax=300 m。一个EH节点作为信源,其他节点在多跳路由中扮演转发中继器的角色,节点的传输范围被假定为R=70 m,而且所有的节点都配有GPS来定位,且配有充电电池,能量的采集和把能量传递到电池的工作一直在进行。EH-WSN中数据包和协调消息大小分别为i和sc=15 bytse字节,信道速率为r=250 kb/s。传播延迟为tprop=0.008 ms,硬件的周转时间(从接收到发送)为ttu=0.192 ms。
根据公式(5)、(6),在ORAC参数γ为0.6下和EHOR的仿真表现进行对比来进行ORAC性能的评估。设定EHOR的参数β为0.6,它在大多数的情景中都实现了高性能。
仿真结果示于图 1和图 2中,从图 1中可以看到,ORAC可以在180个节点的情况下实现最高吞吐量,而EHOR只能在120个节点时候实现它的最高吞吐量,但是这个吞吐量也比ORAC低许多。由于ORAC在发送数据包的用时比EHOR更短,所以在信道饱和的条件下,ORAC信源的发送速率更快。另外,通过利用自适应节点的能量管理,更合适的EH节点会被激活来转发数据包。ORAC的效率比EHOR更高,因为当使用协调消息时数据包的重复率受到了限制。即使在最后一跳中,当接收器接收到一个数据包时,它还会发出像之前节点那样发送协调消息,而在EHOR中节点从不这样做。
![]() |
图 1 不同EH节点数量下ORAC和EHOR性能比较 Figure 1 Performance comparison of ORAC and EHOR under different number of EH nodes |
![]() |
图 2 不同能量采集率下ORAC和EHOR性能比较 Figure 2 Performance comparison of ORAC and EHOR under different rates of energy collection |
在ORAC中的关键参数为加权因子γ。适当增加γ可以提高有效吞吐量,通过适当的增加节点的距离,可以使每一跳前进的距离增加,使数据包的传输经历更少的延迟。在这里能量将不会是一个问题,因为其能量管理模式已经按照环境来对各个自适应的EH节点进行能量分配。随着γ增大,效率会因为传输过程中增加的重复数据包的数量而相应地有所下降。
从图 2中看出,在吞吐量走势的对比上,当平均能量采集率为3左右时,ORAC的吞吐量开始高于EHOR,并且往后一直高于EHOR。在效率走势的对比上我们可以看出当平均能量采集率为2左右时,EHOR的效率开始比ORAC低,即EHOR中EH节点接收重复数据包的比重更大。由于ORAC的EH节点的不活跃期减少将会导致出现许多处于非睡眠状态的节点,这会造成区域生长的多重性,扩展了候选节点数量,从而增加有效吞吐量。但同时效率会略有下降,因为区域的增加会导致数据包的重复接收。
从以上的仿真结果中可以看出,无论改变网络EH节点数量还是平均能量采集率,ORAC在有效吞吐量和效率上都强于EHOR,这与之前的理论推导相符合。
4 结语为了解决如何让可以能量采集的节点充分利用环境能量,从而提高整个网络的持续高效工作的目标,本文提出了自适应周期机会路由算法(ORAC)。该算法首先对节点进行地理分区,再分配优先级,最后进行优化后路由处理。仿真结果表明,ORAC算法能实现更加高效的环境能量利用,并能有效提升网络的吞吐量和网络效率,有效提高了整体网络性能。在进一步的工作中将主要研究多源能量感应在EH-WSN中的路由算法。
[1] |
汪小燕, 王峻峰, 何岭松.
基于能量采集技术的无线传感网研究进展[J]. 微计算机信息, 2006, 22(22): 4–6.
WANG Xiaoyan, WANG Junfeng, HE Lingsong. Review of energy harvesting wireless sensor network based on the technology[J]. Microcomputer Information, 2006, 22(22): 4–6. (in Chinese) |
[2] | Seah W K G, Zhi A E, Tan H. Wireless sensor networks powered by ambient energy harvesting (WSN-HEAP)-Survey and challenges[C]//Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology, 2009. Wireless VITAE 2009. 1st International Conference on. IEEE, 2009:1-5. |
[3] | Kansal A, Hsu J, Zahedi S, et al. Power management in energy harvesting sensor networks[J]. Acm Transactions on Embedded Computing Systems, 2006, 6(4): 2007. |
[4] | Lin L, Shroff N B, Srikant R. Asymptotically optimal energy-aware routing for multihop wireless networks with renewable energy sources[J]. Transactions on Networking IEEE/ACM, 2007, 15(5): 1021–1034. DOI:10.1109/TNET.2007.896173 |
[5] | Eu Z A, Tan H P, Seah W K G. Routing and relay node placement in wireless sensor networks powered by ambient energy harvesting[J]. Wireless Communications & Networking Conference, 2009: 1–6. |
[6] | Chu H C, Siao W T, Wu W T, et al. Design and implementation an energy-aware routing mechanism for solar wireless sensor networks[C]//High Performance Computing and Communication & IEEE International Conference on Embedded Software and Systems, IEEE International Conference on.[s. n.]: IEEE, 2011:881-886. |
[7] | Glatz P M, Ho04Rmann L B, Steger C, et al. Opportunistic network coding for energy conservation in wireless sensor networks[C]//Communication Networks and Services Research Conference (CNSR), 2011 Ninth Annual.[s. n.]: IEEE, 2011:239-246. |
[8] | Zeng K, Ren K, Lou W, et al. Energy aware efficient geographic routing in lossy wireless sensor networks with environmental energy supply[J]. Wireless Networks, 2009, 15(1): 39–51. DOI:10.1007/s11276-007-0022-0 |
[9] | Qualnet Simulator http://www.scalable-networks.com. |
[10] | Zeng K, Ren K, Lou W, et al. Energy aware efficient geographic routing in lossy wireless sensor networks with environmental energy supply[J]. Wireless Networks, 2009, 15(1): 39–51. DOI:10.1007/s11276-007-0022-0 |
[11] | Watteyne T, Barthel D, Dohler M, et al. WiFly: experimenting with wireless sensor networks and virtual coordinates[J]. HAL-INRIA, 2008. |