无线传感器网络节能路由优化算法研究
2023-11-02宋严
宋 严
(长春师范大学网络中心,吉林 长春 130032)
0 引言
无线传感器网络(Wireless Sensor Network,WSN)作为一种自组织网络系统,由大量低成本的微节点组成,具有数据处理和无线通信能力,各个节点通过自组织形成一个网络。WSN能够感知、采集和协同处理被监控的数据并发送到用户终端[1]。随着数字时代日益增长的需求,5G无线通信技术越来越普及,这种技术具备更好的性能、更高的带宽、更低的延迟和更低的功耗。然而,当前网络基础设施覆盖不足等因素限制了5G网络的发挥,在未来,部署大型基站和天线网络将会显著推动5G传输模式与WSN的融合。WSN作为联结搭建了物理宇宙和虚拟宇宙之间的桥架。分散的网络由小型轻量级传感器节点组成,通过电池提供能量,最终将检测信息传送到互联网。无线传感器网络可用于各种应用区域,包括军事观察、患者健康监测、灾难监测和应急管理等[2]。大量紧凑且功率较低的传感器节点作为WSN的主要组件,可以感知、处理周围环境的观测数据并将其传输到目的地,从而更容易监控人工不方便监控的恶劣环境。典型的 WSN 包含从几百到几千个节点[3]。动态网络拓扑、功率约束、节点异构性、有限的预载能量、节点的移动性以及节点故障时的适应性是WSN的主要特征。
传感器节点的组织部署在观察区域中,从而创建了应传达给系统的大量数据。尽管传感器节点非常微小,但它们在内存、传输容量、数据处理和电池寿命方面存在一些限制[4]。WSN节点完全由电池供电,而电池能量有限且不能随时充电。传感器节点的寿命在很大程度上取决于电池的寿命,不合理的能耗会导致网络过早衰减,从而降低网络寿命。当WSN用于远程区域观测时,传感器网络的使用寿命是系统效率和数据传输可靠性的保障。检测到所有WSN内所需能源的节点,能源会进行不中断输送,用于数据通信。通过最小化跳跃总数和间隙,可以有效降低能量利用率,延长WSN的预期寿命。对于潜在的大规模网络,更需要轻量级、低成本和低消耗的传感器节点。此外,为了延长单个传感器节点和网络的使用寿命,每个节点都需要使用尽可能少的功率。网络生存期取决于单个节点生存时间与整个网络能量消耗的平衡性,因此网络能量消耗的平衡性也同样重要。路由算法可以通过评估剩余能量和网络生存期来选择更优路径,有助于延长节点生存期并节省能量消耗。其中,将各种来源的数据的合并称为数据聚合。传感器节点可以从多个节点生成均匀的数据包,这些数据包的聚合减少了传输次数。上述功能可以在每个传感器节点中部分或全部执行。与通信相比,计算消耗的能量最小,从而节省了大量的能量。数据聚合是实现显著节能的有效方法,可以进一步优化各种路由协议的流量。一般来说,在一些网络架构中,权值更高、具备更少连接数或特定的节点被分配给聚合和计算任务。目前已经对各种算法和协议进行了大量研究,以减少传感器网络消耗的总能量[5]。合理设计有关节能的路由协议和操作系统应用层,可以大大延长传感器网络的使用寿命。利用收发器和微处理器的独特功能,降低传感器节点消耗的能量。此功能有助于为各种传感器节点设计提供定制解决方案。根据传感器网络选择的簇头节点的不同,进一步提出了多种WSN领域的集体算法。由于每个节点的能源供应有限,能耗的优化被认为是WSN系统架构研究的关键目标[4]。
本文分别采用分簇算法和神经网络算法,在自组网的过程中,综合考虑传感器能耗、传感器位置、节点剩余能量、多路信息整合等因素,实现对无线传感器网络的实时组网;利用神经算法实现自组网,综合衡量距离、负载和以往信息实时性要求等因素,设计相应的权重的计算方法;在自组网的过程中兼顾单个节点能耗的问题,对整体组网进行合理的簇头选择和高效传输,达到节能和延长WSN寿命周期的效果。
1 无线传感器网络组成
为了更好地研究无线传感器网络的节能问题,首先要明确无线传感器网络的工作流程,其主要由以下三部分组成:分散在区域环境附近的无线传感器节点、作为传输数据中转站的汇聚节点以及终端管理节点,如图1所示。首先在监控区域的内部和周边部署大量的传感器节点,这些节点可以通过自组织的方式构成无线传感器网络;节点检测到的数据随着其他节点的跳转向外传输,最终经过多次跳转到达汇聚节点;汇聚节点通过互联网或卫星通信网传输,到达终端的管理节点(通常为电脑或者服务器),管理者可在管理节点监测到区域环境的数据,根据收集到的数据进行任务下发或者配置告警。在传输数据的过程中,规划无线传感器网络内部的最优路径成为高效传输数据和节能的关键。
图1 无线传感器网络拓扑结构图
2 基于剩余能量的优化分簇算法
LEACH作为经典的分簇路由协议,其特点是网络中所有传感节点被选中的概率相同[6],因此每个节点所消耗的能量基本一致,能够降低网络的能量消耗,延长WSN的寿命周期。LEACH作为协议的计算公式如下:
(1)
其中,p表示此网络中所需簇头数占所有节点总数的比例,r是每次新建立路由及数据传输的回合,G表示在本轮之前还没有被选为簇头的节点集合。
针对LEACH协议计算公式主要考虑以下两个因素:整个无线传感器网络中所需要的簇头数量和某节点曾被选为簇头的次数[7]。但是LEACH协议忽略了不同节点剩余能量不同的事实,当剩余能量较低的节点被选为簇头时,能量消耗变快,导致该节点早于整体平均寿命衰短,影响网络性能[8]。
考虑到节能对于WSN传输数据的重要性和可靠性,本文基于LEACH分簇协议提出了一种新的簇头选举算法LEACH-N。在每个轮次进行簇头选举之前,每个节点会在0至1之间选取一个随机数θ,将选出的随机数θ与参考值ε进行比较,ε的计算方式如下所示:
(2)
其中,α是一个非负常数,Ei是该节点当前剩余的能量。
如果某节点选出的随机数θ大于参考值ε,则在本轮次中该节点当选为簇头,反之则不能当选。对于单个节点来说,剩余的能量越大,其当选簇头的概率更高,避免了低能量节点被选为簇头而导致过快衰减,从而影响整个网络寿命周期。
根据上述网络模型,假设100个传感器节点随机分布在200 m×200 m区域且不会移动,单个节点初始能量为0.5 J。利用Matlab进行仿真实验,分别测试LEACH和LEACH-N算法在网络中传输数据的性能表现,仿真结果如图2至图4所示。
图2 分簇算法下网络存活节点变化趋势
由图2可知,LEACH算法在大约第300个轮次开始,网络中传感器节点数量开始减少,当来到第1 500个轮次时,网络中存活的节点数基本为零。而改善后的LEACH-N算法随着轮次的增加,从第600轮次开始显著下降,且一直到第2 000个轮次LEACH-N算法中存活的节点数下降为零。可以发现,LEACH-N算法相比于LEACH算法,网络中节点存活的时间更长。
同样地,对簇头节点发送给汇聚节点的数据包数量进行测试,测试结果如图3所示。在前800个轮次,无论是哪种算法,汇聚节点收到来自于测试区域节点传输的数据包数量基本相同,随着轮数增加到第1 200个轮次,LEACH算法发送给汇聚节点的数据包不再增加,而LEACH-N算法依然在向外传输数据。直到第1 800个轮次,LEACH-N算法基本停止向外发送的数据包。
图3 分簇算法下簇头节点发送给汇聚节点数据包传输量
对区域内节点剩余能量进行测试,测试结果如图4所示。显然,无论是LEACH算法还是LEACH-N算法,随着轮次的增加,网络剩余总能量均有所下降,且下降趋势基本呈线性。然而,LEACH算法的网络生命周期保持了约1 500个轮次,LEACH-N算法的网络生命周期相比于前者提升了约25%,因此可以认为,LEACH-N算法能够在一定程度上提高WSN的整体生命周期。
图4 测试区域网络能量消耗
3 基于神经网络算法的权重修正模型
本文在拉盖尔神经网络数据融合算法[9-10]的基础上,对神经网络隐藏层到输出层权重值进行修正,模型算法可以做出如下推导,假设初始权重w为0至1之间的一个随机数,隐藏层神经元的数量为m,初始误差E=0,最大误差为δ。假设选取径向基函数的锚点为ci(i=0,1,…,m),选取h个不同的训练样本作为锚点的初始值,其他非锚点根据最小距离原则形成h个子集Ai(i=0,1,…,h)。则可以得到锚点:
(3)
其中,xk∈Ai,si代表第i个隐单元样本集的单元数量。
随后计算集合中训练样本对每个锚点的隶属度,如式(4)和式(5)所示。
(4)
U={uij∈[0,1]|i=1,2,…,n;h=1,2,…,sj}.
(5)
由上述结果进行误差范围判断,若ci不处于偏离允许的误差范围,则重新执行更新聚类锚点步骤。根据径向奇函数的方差σ,可以确定第i个隐层神经元的节点输出为[11]:
(6)
(7)
(8)
为了更好地展现输入与输出的映射关系,对输出层的权重值w进行不断优化。利用梯度下降法不断逼近最优权重值,将每次训练的优化方向作为梯度下降的方向,可以得到权值系数的修正公式:
(9)
其中,η为介于[0,1]之间的学习率。
根据式(8)和(9)推导出:
(10)
因此,权重w的修正方向为
wi←wi+Δwi,i=1,2,…,m.
(11)
通过式(11)不断地重复修正步骤,直到0 (12) 其中,γ为输出层的参考值。 上述计算公式可以表示神经网络隐藏层到输出层权重值的训练过程,整个流程如图5所示。 图5 神经网络算法训练流程图 在重复的神经网络算法权重训练之后,传感器节点再次收集信息时,簇内节点将采集到的信息传输给选举的簇头节点,簇头节点将得到的所有簇内节点信息经过加权处理发送到网络中转站的汇聚节点。此时,输出结果代表了网络中所有簇头节点采集到的关键特征信息,但是又远少于所有簇头节点输入的初始信息,进而大大减少了通信数量,使得传输的数据更精简有效,提高了网络的使用寿命。 利用Matlab进行仿真实验[12],验证修正后的神经网络数据融合算法的有效性。假设100个传感器节点随机分布在200 m×200 m区域且不会移动,单个节点初始能量为0.5 J。图6显示了修正前和修正后的神经网络数据融合算法在网络中存活节点数的变化趋势,修正前的算法在大约第1 100轮次开始出现节点衰亡现象,到第2 500轮次所有节点消耗殆尽,也意味着网络的生命周期结束。而修正后的算法在第1 500轮次开始出现节点的衰亡现象,直到第2 800轮次所有节点死亡。这是因为修正之后通信数据量变少,传输的数据包质量提升,进而延长了整网的寿命周期。 图6 神经网络算法下网络存活节点数变化趋势 图7 神经网络算法下簇头节点发送给汇聚节点数据包传输量 为了进一步验证传输数据发送量,对簇头向汇聚节点发送的数据包数量进行测试,测试结果如图7所示。在前700个轮次,修正前的神经网络算法传输的数据量大于修正后传输的数据量;在大约第700个轮次,修正前和修正后簇头节点向汇聚节点发送的数据数量相同;在第700个轮次之后,修正后的神经网络算法传输的数据量高于修正前传输的数据量。导致这一现象发生的原因是,修正前簇头节点没有对传输的数据量进行数据融合,直接将数据包传输给汇聚节点。修正前的算法一开始的数据包传输数量更大,但随着时间的推移,节点早早地消耗完能量并死亡,导致传输数据包数量趋势有所变缓。修正后的神经网络算法在簇头节点对数据进行数据融合,可以持续稳定地向汇聚节点发送数据包,节点存活的时间更长,最终汇聚节点收到的数据包数量更多,直到所有节点死亡时接收曲线接近水平。 本文提出了一种优化的分簇算法LEACH-N,基于传感器网络节点的剩余能量选择簇头节点,防止因单个节点过早老化而缩减网络寿命。通过对神经网络数据融合算法中权重进行修正,减少簇头节点向汇聚节点传输的数据量,降低传输数据所消耗的能量,减缓网络中节点的衰亡速度。仿真实验结果显示,该算法可在一定程度上提升了网络传输的数据总量,延长了传感器网络整体生命周期。4 结语