基于自适应滤波的能量收集WSNs的路由协议
2019-12-23赵梦龙许会香
赵梦龙, 许会香
(1.贵州职业技术学院,贵州 贵阳 550003;2.郑州工程技术学院,河南 郑州 450044)
0 引 言
能效是无线传感网络(Wireless Sensor Networks, WSNs)的热点议题[1]。仅从能效角度难以彻底解决WSNs的能量紧迫问题。而能量采集(Energy Harvesting, EH)技术是弥补节点能量不足的有效途径[2-3]。节点通过能量采集设备,从周围的环境获取能量,如太阳能、振动、风能。将具有EH的能力的WSNs称为能量采集无线传感网络(EH-WSNs)。
此外,路由协议也是WSNs的关注焦点。传感节点的多数能量用于数据的传输[4-5]。有效的路由策略能够减少节点的数据传输量,提高节点的能效。
目前,研究人员对EH-WSNs提出不同的路由策略。文献[6]提出了能量-机会权重最小能量算法,其通过可用节点能量和能量采集率计算每个节点成本。
此外,文献[7]提出基于随机化最小路径恢复时间(Randomized Minimum Path Recovery Time, R-MPRT)算法,R-MPRT给每个链路计算成本。文献[8]提出了分布式能量采集感知路由算法(DEHAR),DEHAR算法利用节点剩余能量和跳数,计算离信宿的最短路径。而文献[9]提出了能量采集感知的自组按需距离矢量路由(AODV-EHA)。AODV-EHA算法充分利用现存的AODV在处理WSN的自组特性方面上的优势,并依据节点的能量采集能力决策路由。
尽管上述路由算法降低了能量消耗,扩延了传感节点的寿命,但它们仍存在一定的局限性。例如,文献[6]和文献[10]并没有考虑在采集区间所采集的能量数量。而在文献[10]和文献[11]中,网络内所有节点的能量采用率相同。此外,文献[6-7]依据全局网络信息建立路由表,再转发数据包。但是,在异构WSNs中的获取全局信息是非常困难的。
为此,提出能量-采集-感知(Energy-Harvesting-Aware Routing Algorithm, EHARA)。EHARA路由先利用自适应滤波器预测所采集的能量,然后再依据节点能量以及路由要求进行决策路由。其中路由要求包括数据包传输率、吞吐量。仿真结果表明,提出的EHARA路由能够有效地降低能耗和数据包丢失率,并提高了系统吞吐量。
1 系统模型
1.1 网络模型
考虑异构多跳WSNs,其由多个传感节点和一个信宿组成。传感节点具有无线连通、能从周围环境采集能量的能力。假定信宿不受能量限制。节点可能是传感节点,也可作为路由器,这两者均称为节点。作为节点,它感测环境数据,并将此数据包传输至信宿。作为路由器,它能够通过链路将数据传输至信宿。
本文考虑三类典型的可再生能量源,如太阳、振动和风力,如图1所示。传感节点从环境采集能量,再进行能量管理,补给传感节点使用。
图1 EH-WSNs中节点的能量流动过程
此外,系统模型可用图G(V,E)表示,其中V表示顶点集,而E表示边集,其代表两节点间的通信链路。令e(i,j)∈E表示节点i、j的通信链路。如果两节点间距离dij小于节点通信半径R,则链路e(i,j)存在。此外,对于链路e(i,j)∈E,如果数据包从节点i传输至节点j,则节点i为发射器Tx,节点j为接收器Rx,反之亦然。
每个节点由用于数据处理的低功耗微型控制器、基于IEEE 802.15.4的低功耗的RF发射器[12],功率管理单元和能量采集器以及能量存储设备(如电池)构成。
1.2 能量消耗模型
为了设计有效的路由协议,考虑每个节点传输一个数据包所消耗的能量是非常必要的。这些能耗由传输、接收或转发数据包所发生的能耗组成。
依据IEEE 802.15.4MAC特点,节点周期地广播信标帧(Beacon, B),两个信标帧间构成一个超帧。如图2所示。每个超帧由活动期和休眠期构成,而活动期分为竞争接入期(Contention Access Period, CAP)和无竞争期(Contention Free Period, CFP)构成。同时,每个CFP内又包含多个确保时隙(Guaranteed Time Slots, GTS)组成。
图2 超帧图
节点在空闲、传输、接收数据和休眠阶段均会消耗能量。因此,节点i在处理一个数据包所消耗的能量:
(1)
(2)
(3)
其中BI表示帧间隔;SD表示超帧时长[11]。
(4)
最后,节点i的剩余能量则可表述为:
(5)
1.3 采集能量的预测模型
由于环境能量的不确定性,只能依据历史的数据,对环境能量进行预测,进而实现能量的高效管理。
依据文献[13]的思想,引用时槽概念。将一天分为N个固定的时槽,且通常取30 min作为一个时槽长度。节点在过往时间内每个时槽所采集的能量,与将来所对应的时槽内所采用的能量存在着一定对应关系。因此,通过历史数据能预测未来的能量数据。
尽管历史能量数据与未来的能量数据存在着一定的对应关系,但环境多变,这对能量预测技术提出了挑战。为此,本文引用自适应滤波器(Adaptive Filter, AF)进行能量预测。
图3显示了基于AF的能量预测框图。假定AF的阶数和步长分别表示为s、α。e(n)表示第n个时槽内所采集的能量。而用E(n)表示所收集了s个能量历史数据:
E(n)=[e(n),e(n-1),…,e(n-s+1)]
(6)
图3 基于自适应滤波器的能量预测框图
获取历史数据E(n)后,再在第n+1个时槽的开始时间,预测在此时槽能获取的能量p(n+1),如式(7)所示:
p(n+1)=E(n)W(n)
(7)
其中W(n)表示AF系数向量,即W(n)=[ω1(n),ω2(n),…,ωs(n)]。
当n+1个时槽结束后,利用预测误差err(n+1)对W(n)进行更新,其中e(n+1)表示预测值与实际值的差,即err(n+1)=e(n+1)-p(n+1)。
获取了err(n+1)后,再利用最小平方根(Least Mean Square,LMS)对滤波器系数进行调整,如式(8)所示:
W(n+1)=W(n)+αerr(n+1)E(n)
(8)
最终,便通过自适应滤波器预测能量.
2 EHARA算法
2.1 能量采集阶段
为了提出节点能量利用率,对节点能量进行等级划分。若节点的当前剩余能量能够维持基本操作,就只利用节点休眠时间采集能量;若节点的当前剩余能量过低(小于预定的门限值),就拓延节点采集能量的时间。
图4 传感节点的剩余能量
具体而言,首先对节点的能量进行等级划分,将节点能量划分三个等级,如图4所示。Level3表示传感节点维持四上以上操作的最小能量等级。通常,节点能量是由电池供电,其能量都较小。而本文是从理论角度分析节点的能耗,因此,就简单地对节点剩余能量进行了粗略地等级划分。后期,将加大这方面的研究工作,通过理论推导,进行能量等级划分。
(9)
在这种情况下,节点i可能没有足够的能量去维持正常操作。因此,节点必须暂时性关掉发射器,进入休眠状态,从而保存能量,直到电池能量恢复高于Level3。通过这种策略,传感节点能够减少能耗,维持网络寿命。
(10)
图5 算法1的伪代码
(11)
(12)
(13)
2.2 数据传输阶段
数据传输的效率关键在于链路的选择。EHARA算法选用成本最高的链路作为数据传输通道。链路成本的定义如式(14)所示:
(14)
从式(14)可知,计算链路成本是依据节点和链路的局部信息。因此,它能够很容易融入传统距离矢量路由。
此外,从等式(10)、(11)、 (12)和(13)可知,若引用长的空闲时间,节点传输前,需等待更长时间。通过更长的时间,节点可以收集更多能量。
但是,除了考虑增加采集能量外,还需满足数据传输的服务质量。因此,EHAR路由需满足以下约束条件:
0≤pl≤PLmax
(15)
THmin≤th≤THmax
(16)
其中pl、th分别表示信宿的数据包丢失率和吞吐量。而相应的数据包丢失率的门限值PLmax和吞吐量的门限值(THmin,THmax)可依据不同应用设定。
3 性能仿真
3.1 仿真参数
利用MATLAB建立仿真平台。将V个节点随机分布于100 m×100 m。传感节点的能耗参数如表1所示。
在仿真过程中引用基于802.15.4CSMA的MAC协议,网络参数和服务质量参数如表2所示。
表1 传感节点的能耗参数
表2 网络和服务质量参数
为了更好地仿真EHARA性能,选用文献[9]的R-MPRT和AODV-EHA算法作为参照,并分析它们的能耗、路由性能。
3.2 实验一
本次实验分析平均每个数据包所消耗的能量和总体剩余能量。实验数据如图6、图7所示。
图6 平均每个数据包所消耗的能量
图7 网络剩余能量
从图6可知,R-MPRT算法消耗了更多能量,而提出的EHARA算法能量消耗最少。原因在于:EHARA算法减少了每个节点的平均能耗。
图7显示了在8000 s仿真期间,各算法的剩余能量数据。从图7可知,剩余能量随时间推移逐渐下降。在仿真时间结束时,EHARA算法和AODV-EHA算法的分别消耗了50%、92.5%能量,分别剩余12.5J和2.5 J(网络总能量为25 J)。对于R-MPRT算法,它在运行了5000 s后,所有传感节点的能量已耗尽。这些数据表明,相比于AODV-EHA算法和R-MPRT算法,EHARA算法的网络寿命提高了约40%和50%。
3.3 实验二
本次实验分析EHARA算法的QoS性能,包括数据包丢失率、吞吐量。实际数据如图8、图9所示。
图8 数据包丢失率
图9 吞吐量
从图8可知,数据包丢失率随节点数的增加呈上升趋势。相比于R-MPRT和AODV-EHA算法,EHARA算法的数据包丢失率得到有效控制。当V=100时,EHARA算法比AODV-EHA算法的数据包丢失率下降了60%。原因在于:EHARA算法通过维持更多的活动节点,提高了路由稳定性和可靠性。
最后,分析了信宿的吞吐量。从图9可知,节点数的增加,提高了算法的吞吐量。相比于AODV-EHA和R-MPRT,EHARA算法的吞吐量得到有效地提高。例如,当源节点V=100时,AODV-EHA算法吞吐量最低,EHARA算法比AODV-EHA算法的吞吐量提高了41%。
4 结 语
文针对WSNs,提出能量采集感知路由EHARA。EHARA路由充分考虑了物联网应用的特点,并利用节点采集的能量,弥补传感节点的能量不足。同时,定义链路成本,再选择最佳的链路转发数据包。实验数据表明,提出的EHARA路由能够有效地保存能量,最终实现延长网络寿命的目的。
此外,本文在进行能量等级划分时,只是粗略地划分,并没有依据实验数据或理论推导。后期,将通过数据数据验证或理论推导,优化能量等级的划分。这将是后期的研究工作。