一种能量平衡的簇头节点选择算法的制作方法

文档序号:14993920发布日期:2018-07-20 23:11阅读:205来源:国知局

本发明涉及无线传感器网络路由协议,特别是一种能量平衡的簇头节点选择算法。



背景技术:

由电池供电的多个微传感器节点组成的无线传感器网络(wsn)可形成自组织网络。作为一种新的信息获取和处理模式,已被广泛应用于军事、环境、医疗、工业和车载自组织网络等领域。在医疗保健方面,世界人口的老龄化已经迫使人们设计新的、更普遍的、成本消耗更少的医疗体系。在连续监测老年人安全而不影响其日常活动方面,无线传感器网络等分布式和网络化的嵌入式系统是最有吸引力的技术。在实时远程监测和计算机辅助康复应急响应系统方面,无线传感器网络取得了迅速的发展。

由于传感器节点的能量有限且难以充电,如何节省传感器节点的能量以延长网络寿命已成为研究热点。路由协议作为无线传感器网络的重要组成部分,直接影响着传感器节点的能耗。为了延长网络寿命,我们需要设计有效的路由协议。基于网络结构,无线传感器网络中的路由协议可以分为平面路由和集群路由。集群路由在能耗方面比平面路由更高效。低能量自适应聚类层次(leach)是heinzelman等人首次提出的一种集群路由算法。为了节能,该算法中减少了与基站(bs)通信的节点数量,并通过数据融合技术降低了数据的传输量。该算法以轮为工作周期,在每一轮中根据网络中所有节点分布的能量消耗情况随机选择一个新的簇头(ch)。但是,leach有一些缺点。一是簇头选择方法在节点数量和位置方面是不稳定的,不利于能量平衡。虽然有一些文献提到可以通过预测节点部署的策略来平衡能源消耗,但是这种方法需要大量的人力成本来部署传感器,不适合一般场景。二是簇头选择方法不考虑节点的剩余能量,因此低能量的节点充当簇头时将迅速耗尽能量。三是通过单跳发送信息到汇聚节点,远距离通信将消耗过多的能量。所以leach不适合大规模的网络使用。

近年来,研究人员对leach进行了改进,提出了许多基于leach的新型集群路由算法。例如,dchs,teen和apteen是基于从leach借用的聚类思想设计的。集群路由需要频繁更新集群结构,而随机或不合理的簇头选择方式会导致网络能耗不均。



技术实现要素:

为了解决现有技术中的不足,本发明的技术方案为一种能量平衡的簇头节点选择算法。包括以下步骤:

步骤1:部署n个传感器节点,通过基站向n个传感器节点发送广播消息,根据leach算法对n个传感器节点进行全局分簇,并传输k次数据包;

步骤2:传感器节点根据硬件检测接收到的广播消息的信号强度,结合步骤1中所述基站向n个传感器节点发送广播消息的信号强度,计算传感器节点与基站的距离;

步骤3:簇头节点为簇中非簇头节点分配时隙,计算簇头节点接收簇中非簇头节点传输的数据包消耗能量、簇头节点将接收到的数据包进行数据融合消耗能量、簇头节点将融合后的数据包传输给基站消耗能量,第1次数据包传输完成;

步骤4:第o(2≤o≤k)传输数据时保持步骤1中所述簇结构不变,第o(2≤o≤k)次传输数据包时簇中簇头节点向簇中非簇头节点发送广播消息,簇中非簇头节点收到广播消息后向簇头节点发送广播消息,根据广播消息进一步计算簇中各节点在第o(2≤o≤k)次传输数据包时簇中所有传感器节点若成为簇头节点后的剩余能量;

步骤5:选择剩余能量最大的传感器节点作为第o次传输数据包时的簇头节点,通过判断簇头节点的变化来更新簇中非簇头节点分配时隙,开始第o次传输数据包;

步骤6:重复执行步骤4和步骤5至k次传输数据包全部完成。

作为优选,步骤1中所述基站向n个传感器节点发送广播消息:

messageinfo={cinfo,powersend,k}

其中,cinfo表示全局分簇消息,powersend为基站向n个传感器节点发送广播消息的信号强度,k为数据包传输的分簇周期,即每进行k次数据包传输则进行一次步骤1中所述leach算法全局分簇;

步骤1中所述leach算法全局分簇完成后产生m个簇,簇的编号为c1,c2,…,cm,簇头节点的编号为h1,h2,…,hm,簇ci(i∈[1,m],i为正整数)中对应传感器节点的编号为(代表簇ci中传感器节点个数,则si,1为簇头节点其编号为hi;

作为优选,步骤2所述传感器节点与基站的距离:

其中,为传感器节点si,j根据硬件检测接收到的广播消息的信号强度,α是用于通信的常数为:

其中,powersend为步骤1中所述基站向n个传感器节点发送广播消息的信号强度,c表示光速,f表示通信频率;

作为优选,步骤3中所述簇ci中簇头节点hi为簇中非簇头节点分配时隙为:

其中,非簇头节点在时隙传输数据包给簇头节点hi;

簇头节点hi接收簇ci中个非簇头节点传输的数据包消耗能量为:

其中,l为传感器节点传输的数据包比特数,eelec为发送单位比特数据的电路能量耗损;簇头节点hi将接收到的数据包进行数据融合消耗能量为:

其中,l为传感器节点传输的数据包比特数,ef为融合单位比特数据消耗的能量;

簇头节点hi将融合后的数据包传输给基站消耗能量为:

其中,为步骤2中所述簇头节点si,1与基站之间的距离,∈fs为自由空间

模型参数,∈mp为多径衰落模型参数,d0为一阶无线电通信传输距离的阈值:

作为优选,步骤4中所述簇中非簇头节点收到广播消息后向簇头节点hi发送广播消息:

其中,为簇ci中非簇头节点,为簇ci中非簇头节点通过硬件测量得到的当前能量,为簇ci中非簇头节点通过硬件测量得到的当前能量,为步骤2中所述非簇头节点si,j与基站之间的距离,为簇ci中非簇头节点若成为簇头节点且原有的簇头节点hi成为非簇头节点,传输n-1个非簇头节点传输的数据包消耗能量为:

为簇ci中非簇头节点若成为簇头节点且原有的簇头节点hi成为非簇头节点,接收到的数据包进行数据融合消耗能量为:

为簇ci中非簇头节点若成为簇头节点且原有的簇头节点hi成为非簇头节点,融合后的数据包传输给基站消耗能量为:

其中,为步骤2中所述非簇头节点与基站之间的距离,∈fs为自由空间模型参数,∈mp为多径衰落模型参数,为一阶无线电通信传输距离的阈值;

根据步骤3中所述簇头节点接收簇中非簇头节点传输的数据包消耗能量、簇头节点将接收到的数据包进行数据融合消耗能量、簇头节点将融合后的数据包传输给基站消耗能量簇中所有传感器节点若成为簇头节点后的剩余能量为:

作为优选,步骤5中所述剩余能量最大的传感器节点为:

其中的最大值,传感器节点所属簇为ci(1≤i≤m),若新一次数据传输的簇头节点si,q与步骤3中所述数据传输的簇头节点hi相同,则簇头节点hi根据步骤3中所述为簇中非簇头节点分配时隙并进行此次数据传输,否则,簇头节点hi在簇ci中广播簇头改变消息:

其中,表示簇ci中簇头节点发生改变,si,q为新的簇头节点,同时将si,q的时隙作为原簇头节点hi的时隙,步骤1中所述簇ci中非簇头节点接收到广播消息后,判断si,q在非簇头节点的位置,进行数据传输。

与现有技术相比,本发明减少了簇结构变化并延长了节点的生命周期,同时有助于能量平衡。

附图说明

图1:是本发明实施例的方法流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

请见图1,本发明实施例的方法流程图,本发明提供一种能量平衡的簇头节点选择算法,包括以下步骤:

步骤1:部署n=100个传感器节点,通过基站向n=100个传感器节点发送广播消息,根据leach算法对n个传感器节点进行全局分簇,并传输k=5次数据包;

步骤1中所述基站向n=100个传感器节点发送广播消息:

messageinfo={cinfo,powersend,k}

其中,cinfo表示全局分簇消息,powersend为基站向n=100个传感器节点发送广播消息的信号强度,k=5为数据包传输的分簇周期,即每进行k=5次数据包传输则进行一次步骤1中所述leach算法全局分簇;

步骤1中所述leach算法全局分簇完成后产生m=5个簇,簇的编号为c1,c2,…,cm,簇头节点的编号为h1,h2,…,hm,簇ci(i∈[1,m],i为正整数)中对应传感器节点的编号为(代表簇ci中传感器节点个数,),则si,1为簇头节点其编号为hi;

步骤2:传感器节点根据硬件检测接收到的广播消息的信号强度,结合步骤1中所述基站向n=100个传感器节点发送广播消息的信号强度,计算传感器节点与基站的距离;

步骤2所述传感器节点与基站的距离:

其中,为传感器节点si,j根据硬件检测接收到的广播消息的信号强度,α是用于通信的常数为:

其中,powersend=25dbm为步骤1中所述基站向n=100个传感器节点发送广播消息的信号强度,c=3×108m/s表示光速,f=5mhz表示通信频率;

步骤3:簇头节点为簇中非簇头节点分配时隙,计算簇头节点接收簇中非簇头节点传输的数据包消耗能量、簇头节点将接收到的数据包进行数据融合消耗能量、簇头节点将融合后的数据包传输给基站消耗能量,第1次数据包传输完成;

步骤3中,簇ci中簇头节点hi为簇中非簇头节点分配时隙为:

其中,非簇头节点在时隙传输数据包给簇头节点hi;

簇头节点hi接收簇ci中n-1个非簇头节点传输的数据包消耗能量为:

其中,l=4000bit为传感器节点传输的数据包比特数,eelec=50nj/bit为发送单位比特数据的电路能量耗损;

簇头节点hi将接收到的数据包进行数据融合消耗能量为:

其中,l=4000bit为传感器节点传输的数据包比特数,ef=5nj/bit为融合单位比特数据消耗的能量;

簇头节点hi将融合后的数据包传输给基站消耗能量为:

其中,为步骤2中所述簇头节点si,1与基站之间的距离,∈fs=10pj/(bit·m2)为自由空间模型参数,∈mp=0.0013pj/(bit·m4)为多径衰落模型参数,d0=87m为一阶无线电通信传输距离的阈值:

步骤4:第o(2≤o≤5)传输数据时保持步骤1中所述簇结构不变,第o(2≤o≤5)次传输数据包时簇中簇头节点向簇中非簇头节点发送广播消息,簇中非簇头节点收到广播消息后向簇头节点发送广播消息,根据广播消息进一步计算簇中各节点在第o(2≤o≤5)次传输数据包时簇中所有传感器节点若成为簇头节点后的剩余能量;

作为优选,步骤4中所述簇中非簇头节点收到广播消息后向簇头节点hi发送广播消息:

其中,为簇ci中非簇头节点,为簇ci中非簇头节点通过硬件测量得到的当前能量,为簇ci中非簇头节点通过硬件测量得到的当前能量,为步骤2中所述非簇头节点si,j与基站之间的距离,为簇ci中非簇头节点若成为簇头节点且原有的簇头节点hi成为非簇头节点,传输个非簇头节点传输的数据包消耗能量为:

其中,l=4000bit为传感器节点传输的数据包比特数,eelec=50nj/bit为发送单位比特数据的电路能量耗损;

为簇ci中非簇头节点若成为簇头节点且原有的簇头节点hi成为非簇头节点,接收到的数据包进行数据融合消耗能量为:

其中,l=4000bit为传感器节点传输的数据包比特数,ef=5nj/bit为融合单位比特数据消耗的能量;

为簇ci中非簇头节点若成为簇头节点且原有的簇头节点hi成为非簇头节点,融合后的数据包传输给基站消耗能量为:

其中,为步骤2中所述非簇头节点与基站之间的距离,∈fs=10pj/(bit·m2)为自由空间模型参数,∈mp=0.0013pj/(bit·m4)为多径衰落模型参数,d0=87m为一阶无线电通信传输距离的阈值;

根据步骤3中所述簇头节点接收簇中非簇头节点传输的数据包消耗能量、簇头节点将接收到的数据包进行数据融合消耗能量、簇头节点将融合后的数据包传输给基站消耗能量簇中所有传感器节点若成为簇头节点后的剩余能量为:

步骤5:选择剩余能量最大的传感器节点作为第o次传输数据包时的簇头节点,通过判断簇头节点的变化来更新簇中非簇头节点分配时隙,开始第o次传输数据包;

步骤5中所述剩余能量最大的传感器节点为:

其中的最大值,传感器节点所属簇为ci(1≤i≤5),若新一次数据传输的簇头节点si,q与步骤3中所述数据传输的簇头节点hi相同,则簇头节点hi根据步骤3中所述为簇中非簇头节点分配时隙并进行此次数据传输,否则,簇头节点hi在簇ci中广播簇头改变消息:

其中,表示簇ci中簇头节点发生改变,si,q为新的簇头节点,同时将si,q的时隙作为原簇头节点hi的时隙,步骤1中所述簇ci中非簇头节点接收到广播消息后,判断si,q在非簇头节点的位置,进行数据传输。

步骤6:重复执行步骤4和步骤5至5次传输数据包全部完成;

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1