掌桥专利:专业的专利平台
掌桥专利
首页

一种无线传感器网络LEACH优化算法

文献发布时间:2023-06-19 11:05:16


一种无线传感器网络LEACH优化算法

技术领域

本发明涉及一种无线传感器网络LEACH优化算法,属于实时嵌入式技术领域。

背景技术

无线传感器网络是由多个传感器节点无规律散落在某个空间内,进而实现信息的交互功能的网络体系。节点之间在一定的条件下实现数据转发,最后将数据传到基站,完成整个网络的通信工作。在各个传感器节点通信的过程中,节点能耗问题显得尤为重要。由于大部分需要感知的环境都较为恶劣,并且传感器是由嵌入在其中的微型电池提供,一旦电池能量耗尽,就导致节点失效。若要精确定位并替换新的传感器节点,就是一件非常困难的事情。所以,要采用节能的分簇多跳机制,然后通过优化的LEACH算法实现节点能耗均衡,以达到延长网络生命周期的目的。

发明内容

本发明要解决的技术问题是提供一种无线传感器网络LEACH优化算法,用以解决上述问题。

本发明的技术方案是:一种无线传感器网络LEACH优化算法,用来判断节点是否能够成为簇头节点,其次设置成簇评估函数判断簇头所在簇群是否可以成簇,同时设置副簇头节点均衡簇头节点的能耗压力,降低簇头节点能耗;在数据传输阶段,通过构造路径权重因子综合选择符合条件的中继节点,构造最优传输路径。

具体步骤为:

Step1:计算节点的轮次能耗、剩余能量,节点之间的距离、节点到基站的距离构造距离控制因子和轮次能耗因子。

Step2:根据簇头评估函数和新的阈值函数判断簇头选择。

Step3:选举簇头完成后,普通节点自行进入到某个簇中,成为簇内成员节点。

Step4:在簇群内设置副簇头节点均衡簇头的数据转发能耗。

Step5:在数据转发阶段根据多种因子综合选择中继节点,形成最优传输路径,将数据传递给基站。

所述的轮次能耗因子和距离控制因子分别指的是综合考虑节点在前r-1轮的消耗和节点之间的距离、节点到基站的距离。

所述的step1节点的轮次能耗、剩余能量计算及距离控制因子和轮次能耗因子构造,step2中簇头选择,step3中成簇,step4中设置副簇头节点,以及step4中数据传输五个步骤中传感器节点的位置信息和剩余能量都通过基站实时获取。

所述Step1中,由于簇头节点要转发大量数据,节点自身能量使用程度要大于普通成员节点,节点的剩余能量固然重要,但是究其根源,节点运行多轮后消耗的能量也是不容忽视的直接因素,通常选举簇头都会考虑节点的剩余能量,但是之前消耗的能量,不只是数据传输的能量,还包括每轮节点向邻居节点传递广播自身信息所消耗的能量,换簇过程中控制信息的消耗的能量等,因此提出轮次能耗因子,衡量节点运行多轮消耗的能量,同时考虑到节点在与邻居节点的通信过程中,节点之间的距离长短也会影响到节点能量的消耗多少,因此所述距离控制因子具体为:

式中,

所述Step2中,为避免每次都以同样的方式选举簇头,导致能量消耗的代价随之增加以及因约束条件少之又少导致很难选出符合条件的簇头,提出一种新的簇头评估阈值函数,所述阈值函数具体为:

式中,p为节点成为簇头的概率情况,将节点此刻的值与阈值进行比较,若大于阈值T,即为簇头,r为选举的次数,QS

所述簇头评估函数QS

式中,

所述Step3中,在簇头节点选举完成之后,各簇头节点周围的节点根据自身距离簇头节点的距离进入相应的簇群内。因为簇头的选举是针对整个网络而言的,考虑到全局性,根据节点的自身剩余能量和节点距离基站的距离,构造成簇评估函数QS

i为普通节点;j为簇头节点。d

所述Step4中,由于簇头节点既要接收簇内普通成员节点发来的数据,同时又要进行簇间数据的传输,与基站通信,因此在数据接收与转发的过程中,能量消耗显著增加,所以针对此问题,本发明提出副簇头节点来均衡簇头节点的能耗,当簇群中选出副簇头后,由于默认副簇头距离基站的距离比簇头节点近,因此簇头节点先将数据传递给副簇头节点,再一步步传递数据给基站,进而降低传输能耗。副簇头节点只针对单个簇群而言,仅考虑节点的局部性,依赖于节点的邻居节点的能量和节点间的距离,α与β均是属于[0,1]区间内均衡调节因子。构造副簇头评估函数P

针对簇头存在过大的数据转发压力,设置副簇头节点来均衡主簇头的能耗,有效的达到了优化网络节点能耗的效果。

所述Step5中,在数据传输部分,可分为簇内传输和簇间传输。簇内传输是指单个簇群内,普通成员节点与簇头节点之间的信息交互。簇间传输是指在簇头节点完成簇内传输后,通过多跳最后将数据传递给基站。但是由于网络节点的分布是随机分布的,所以簇头距离基站的距离长短不一,距离基站的远近程度可以衡量数据转发的路径长短,若到基站距离较短,则可以选择一跳传递数据,相反,则需要选择过渡点作为数据的承上启下节点,该点称为中继节点,使得路径满足多跳的条件,将数据传递给基站。要构建最优传输路径,所以中继节点的选择受多种条件的约束,同时考虑到簇群规模越小,簇内数据传递越少,簇头在数据处理过程中消耗的能量就越小。于是本发明考虑多种限制条件:簇头节点与基站间的距离、簇群的规模、簇头节点自身剩余能量构造路径权重因子,作为判断中继节点构造最优传输路径的标准。路径权重因子ω表达式如下:

i表示簇头节点。a,b,c∈[0,1]的调节因子。S

本发明的有益效果是:本发明提出的算法相比于LEACH算法、LEACH-C算法,对网络能耗的均衡和生命时长的延长效果都有明显提升。

附图说明

图1是本发明的流程图;

图2是本发明的全部实验参数;

图3是本发明簇头成簇示意图

图4是本发明数据传输示意图

图5是本发明节点剩余能量比值趋势图;

图6是本发明节点存活个数趋势图;

具体实施方式

下面结合附图和具体实施方式,对本发明作进一步说明。

实施例1:如图1,图4所示,一种无线传感器网络LEACH优化算法,用来判断节点是否能够成为簇头节点,其次设置成簇评估函数判断簇头所在簇群是否可以成簇,同时设置副簇头节点均衡簇头节点的能耗压力,降低簇头节点能耗;在数据传输阶段,通过构造路径权重因子综合选择符合条件的中继节点,构造最优传输路径。

具体步骤为:

Step1:计算节点的轮次能耗、剩余能量,节点之间的距离、节点到基站的距离构造距离控制因子和轮次能耗因子。

Step2:根据簇头评估函数和新的阈值函数判断簇头选择。

Step3:选举簇头完成后,普通节点自行进入到某个簇中,成为簇内成员节点。

Step4:在簇群内设置副簇头节点均衡簇头的数据转发能耗。

Step5:在数据转发阶段根据多种因子综合选择中继节点,形成最优传输路径,将数据传递给基站。

所述的轮次能耗因子和距离控制因子分别指的是综合考虑节点在前r-1轮的消耗和节点之间的距离、节点到基站的距离。

所述的step1节点的轮次能耗、剩余能量计算及距离控制因子和轮次能耗因子构造,step2中簇头选择,step3中成簇,step4中设置副簇头节点,以及step4中数据传输五个步骤中传感器节点的位置信息和剩余能量都通过基站实时获取。

所述Step1中,由于簇头节点要转发大量数据,节点自身能量使用程度要大于普通成员节点,节点的剩余能量固然重要,但是究其根源,节点运行多轮后消耗的能量也是不容忽视的直接因素,通常选举簇头都会考虑节点的剩余能量,但是之前消耗的能量,不只是数据传输的能量,还包括每轮节点向邻居节点传递广播自身信息所消耗的能量,换簇过程中控制信息的消耗的能量等,因此提出轮次能耗因子,衡量节点运行多轮消耗的能量,同时考虑到节点在与邻居节点的通信过程中,节点之间的距离长短也会影响到节点能量的消耗多少,因此所述距离控制因子具体为:

式中,

所述Step2中,为避免每次都以同样的方式选举簇头,导致能量消耗的代价随之增加以及因约束条件少之又少导致很难选出符合条件的簇头,提出一种新的簇头评估阈值函数,所述阈值函数具体为:

式中,p为节点成为簇头的概率情况,将节点此刻的值与阈值进行比较,若大于阈值T,即为簇头,r为选举的次数,QS

所述簇头评估函数QS

式中,

所述Step3中,在簇头节点选举完成之后,各簇头节点周围的节点根据自身距离簇头节点的距离进入相应的簇群内。因为簇头的选举是针对整个网络而言的,考虑到全局性,根据节点的自身剩余能量和节点距离基站的距离,构造成簇评估函数QS

i为普通节点;j为簇头节点。d

所述Step4中,由于簇头节点既要接收簇内普通成员节点发来的数据,同时又要进行簇间数据的传输,与基站通信,因此在数据接收与转发的过程中,能量消耗显著增加,所以针对此问题,本发明提出副簇头节点来均衡簇头节点的能耗,当簇群中选出副簇头后,由于默认副簇头距离基站的距离比簇头节点近,因此簇头节点先将数据传递给副簇头节点,再一步步传递数据给基站,进而降低传输能耗。副簇头节点只针对单个簇群而言,仅考虑节点的局部性,依赖于节点的邻居节点的能量和节点间的距离,α与β均是属于[0,1]区间内均衡调节因子。构造副簇头评估函数P

针对簇头存在过大的数据转发压力,设置副簇头节点来均衡主簇头的能耗,有效的达到了优化网络节点能耗的效果。

所述Step5中,在数据传输部分,可分为簇内传输和簇间传输。簇内传输是指单个簇群内,普通成员节点与簇头节点之间的信息交互。簇间传输是指在簇头节点完成簇内传输后,通过多跳最后将数据传递给基站。但是由于网络节点的分布是随机分布的,所以簇头距离基站的距离长短不一,距离基站的远近程度可以衡量数据转发的路径长短,若到基站距离较短,则可以选择一跳传递数据,相反,则需要选择过渡点作为数据的承上启下节点,该点称为中继节点,使得路径满足多跳的条件,将数据传递给基站。要构建最优传输路径,所以中继节点的选择受多种条件的约束,同时考虑到簇群规模越小,簇内数据传递越少,簇头在数据处理过程中消耗的能量就越小。于是本发明考虑多种限制条件:簇头节点与基站间的距离、簇群的规模、簇头节点自身剩余能量构造路径权重因子,作为判断中继节点构造最优传输路径的标准。路径权重因子ω表达式如下:

i表示簇头节点。a,b,c∈[0,1]的调节因子。S

本发明通过MATLAB平台的仿真,100个传感器节点被随机的遍布在200×200的环境中。通过分析将改进LEACH优化算法融入其中,对无线传感器网络的能量消耗和在同一时间下各节点的剩余能量状况,进而验证本发明方案相较于经典LEACH和LEACH-C算法在节能和能耗均衡两个方面的优势。各实验参数的设置如图2所示。

WSN中节点的簇内传输是指单个簇群内,普通成员节点与簇头节点之间的信息交互。簇间传输是指在簇头节点在完成簇内传输后,通过多跳最后将数据传递给基站。由于距离基站的距离不同导致能耗不同,因此为了分担簇头进行数据转发的能耗压力,设置副簇头节点,默认副簇头节点的位置是更靠近基站,距离相对较近。通过在200×200的空间内随机布设100个传感器节点,节点仿真分簇情况以及每个簇群的簇头节点和副簇头节点分布情况如下图3所示。

在无线传感器网络中,节点的能耗均衡程度是判断该网络保持网络数据通信时长的一个重要标准。通常情况下,运行一定轮数后,节点的剩余能量和网络中存活的节点数可以作为网络连通持久的参考依据。以下通过比较LEACH算法、LEACH-C算法和本发明算法在轮数一定的情况下,节点的最小剩余能量和平均剩余能量的比值情况以及存活节点数分析。

当运行轮数一定时,节点的剩余能量比值可以有效的衡量网络能耗情况。随着轮数的增加,节点最小剩余能量和平均剩余能量的比值在减小,从各个算法的比值的坡度趋势来看,在相同轮数情况下,该比值越大,各节点能量差距越小,能耗越均衡。如图5所示,当节点运行600轮时,LEACH算法节点剩余能量比值为0.75,LEACH-C算法节点剩余能量比值为0.83,本发明算法节点剩余能量比值为0.86;当节点运行1100轮时,LEACH算法节点剩余能量比值为0,LEACH-C算法节点剩余能量比值为0.5,本发明算法节点剩余能量比值为0.7;当节点运行1400轮时,LEACH算法和LEACH-C算法节点剩余能量比值均为0,而本发明算法节点剩余能量比值为0.55;由此可以看出,当LEACH算法失效时,节点能量耗尽,而在LEACH-C算法和本发明算法中节点的最小剩余能量和平均剩余能量比值较大,能耗相对来说更为均衡,当LEACH-C算法失效时,节点能量耗尽,而本发明算法中节点的最小剩余能量和平均剩余能量比值较大,能耗相对来说更为均衡。因此,从三种算法的节点剩余能量比值差距程度来看,本发明算法在加入双簇头和多重控制因子后,有效的均衡了节点的能耗,延续了节点运行的轮数,提高了网络中节点的生命周期。

随着运行次数的不断增加,节点的能量随之减少,监测区中的节点剩余数会随之减少。当运行轮数一定时,网络中节点的存活个数作为决定该网络是否可以继续使用的条件,即为判断网络的生命周期长短的另一个重要标准。如图6所示,节点运行到300轮的时候,LEACH算法、LEACH-C算法、本发明算法存活节点的个数均开始减少;当节点运行到1400轮的时候LEACH算法节点存活个数为0,而LEACH-C算法和本发明算法仍有大量存活节点数,表示这两种算法能够有效的延长网络生命周期;当节点运行到1650轮的时候,LEACH算法节点存活个数为0个,而LEACH-C算法节点存活个数也为0个,本发明算法存活节点数虽然减少,但依旧有大量存活节点,说明本发明算法相对而言能够运行更多轮次;当节点运行到2400轮时,三种算法节点存活个数均为0;实验表明,在轮数一定的情况下,存活节点个数越多,即表明网络中剩余可用节点的数量越多,可以继续实现网络的信息交互,在能量有限的情况下节点能运行更多轮次。因此本发明算法相比于LEACH算法、LEACH-C算法,对网络生命周期的延长效果有明显提升。

以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

相关技术
  • 一种无线传感器网络LEACH优化算法
  • 一种基于LEACH协议的无线传感器网络路由方法
技术分类

06120112789616