一种能量有效型无线传感器网络成簇算法

文档序号:25094307发布日期:2021-05-18 21:20阅读:329来源:国知局
一种能量有效型无线传感器网络成簇算法

1.本发明属于无线传感网路由协议领域,主要是涉及一种基于无线传感器网络的能量有效型成簇算法。


背景技术:

2.无线传感器网络(wsn)的节能研究导致聚类技术的分类,分簇是提高网络寿命的方法之一,也是一个热门的研究领域,因为它可以平衡节点的能量消耗。传感器节点的能耗主要用于数据的发送和接收,直接传输中,节点将其采集的信息直接传输给基站(bs),这样会导致远离bs的节点消耗大量能量,过快死亡,从而急剧缩短网络寿命。分簇聚类技术通过选取簇首(ch)减少向基站传输数据的负载来最小化能量消耗,簇首类似集群的领导者,相对于普通节点承担更多的能耗任务,与基站或者其他簇首通信,而普通节点只需将采集数据发送给簇首,大大减短了传输距离,节省了单个节点的能量。分簇集群技术将整个无线传感器网络划分为多个簇,使整个网络层次分明,节点分工明确,节约能量并均衡网络,从而提高整个网络寿命。
3.分簇聚类算法中可用的主要思想之一是使用低功耗自适应集群层次型(low energyadaptive clustering hierarchy,leach)算法。leach是众所周知的集群算法之一,是层次路由协议中较为经典的协议,采用轮的方式运行,每一轮由成簇阶段和稳定传输阶段组成。在成簇阶段,每个节点随机产生一个0到1的数字,若该数字小于阈值,则当选为ch,非簇首节点根据信号强度加入相应的簇;稳定传输阶段,簇内成员节点(cm)根据tdma时隙表在自己的时隙内将数据发送给ch。leach协议随机选择簇首,并没有考虑其他因素,而ch需承担数据接收、融合及传输等更多的任务,因此,合理的簇首选取方案及节点入簇机制变得尤为重要。本文提出一种新的成簇方法,对簇首选取及节点入簇策略进行改进,达到降低和均衡能耗的目的。


技术实现要素:

4.本发明提出一种基于wsn的成簇聚类算法,通过增强能耗均衡的方式来降低能耗,延长网络寿命。算法基于两个方面进行改进,首先,修改簇头选取方法以确保wsn中所有传感器节点之间簇头的稳定生成与工作;其次,普通节点入簇时考虑能耗热区的问题,从而形成非均匀网络簇集,达到降低和均衡能耗的目的。
5.本发明的技术方案如下:
6.步骤s1:leach协议簇首选取机制与网络中簇首比例有直接关联,因此确定最优簇首比例对网络功耗有直接影响。
7.步骤s2:相对于普通cm节点来说,ch需要承担接收、融合、转发等更多的能耗任务,不考虑节点剩余能量以及节点当选为ch所需最低能量阈值e
th
,ch会从低能节点中产生,而这些节点自身携带的能量无法支撑其完成簇首工作,从而过早死亡,缩短网络寿命。
8.步骤s3:考虑节点周围的节点密度,使节点密集的区域当选ch的几率增大,ch数增
多,节点稀疏的区域ch数较少即可。不考虑节点的位置信息,会使得ch的分布不均匀,簇的形成不合理。
9.步骤s4:节点随机产生一个0~1间的随机数,将该随机数与改进的阈值进行比较,若小于阈值,则该节点成为临时簇首,接下来非ch节点根据距离和剩余能量比两个因素来选择合适的簇进行入簇。
10.步骤s5:正式簇首确立。定义c
i
表示第i个簇,d(u,v)表示簇i中节点u与节点v之间的距离,m为簇i中节点的数目,由能耗模型可知,能量的损耗与距离d有直接关系,因此定义为簇内的通信因子。正式簇首的确立考虑剩余能量及通信因子来选择最终的簇首。
附图说明
11.图1ch选取与cm入簇
12.图2单多跳相结合的簇间传输策略
13.具体实施过程:
14.leach协议簇首选取机制是:每轮次中,每个节点随机产生一个0到1之间的数值,并与式(1)中的阈值进行比较,如果该数值小于阈值则成为簇首,否则为簇成员节点。
[0015][0016]
其中,p表示网络中簇首比例,r为当前的轮次,i表示第i个节点,g表示目前尚未担任过ch的节点集。
[0017]
本发明对成簇阶段的簇首选取和节点入簇机制进行改进,如图1所示,具体步骤如下:
[0018]
步骤s1:leach协议簇首选取机制与网络中簇首比例有直接关联,因此确定簇首比例对网络功耗有直接影响。簇间传输采用单多跳相结合的方式,如图2所示,网络中设置一个leader簇首,普通簇首以单跳或多跳的方式与leader簇首进行通信。本文假设n个同构节点随机分布在m
×
m的网络区域内,簇首个数为k,每轮数据传输量为lbit,每bit数据融合能耗为e
df
,簇内与簇间通信距离皆小于d0。d
cmtoch
表示成员节点与簇首距离,d
chtoch
表示簇首与簇首距离,d
ldtobs
表示leader簇首与基站或sink距离。
[0019]
step1:成员节点总能耗为:
[0020]
e
cm
=(n

k)(e
elec
l+ε
fs
ld
cmtoch2
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0021]
假设ch位于簇中心位置,由节点密度公式可得cm与ch距离d
cmtoch
平方的均值为:
[0022]
[0023]
将式(3)带入式(2)可得成员节点总能耗:
[0024][0025]
step2:平均每个普通ch能耗情况为:接收一个簇首和个成员的数据、数据融合以及转发。
[0026][0027]
其中d
chtoch
的均值为簇区域半径(记为r)的2倍,平均每个簇面积为由式可得代入式(5)可得:
[0028][0029]
式(6)表示普通簇首工作所需要的的最低能量,若小于此值,则必定会因能量不足而死亡,因此e
ch_nrm
是节点担任普通簇首的最低标准,亦即普通簇首能量阈值,记为e
th
,则:
[0030][0031]
step3:leader簇首与普通ch的不同之处在于数据需要发往远距离的bs或sink,即:
[0032][0033]
step4:由式(7)与(8)可得所有簇首总能耗为:
[0034][0035]
step5:由式(4)与(9)可得每轮总能耗为:
[0036][0037]
step6:将式(10)对k求偏导以得到最优簇首数量:
[0038][0039]
故最优簇首比例为:
[0040][0041]
步骤s2:由式(12)可知p
opt
为最佳簇首比,普通簇首能量阈值为e
th
,同时考虑e
th

节点剩余能量,即每轮中节点i选举概率为:
[0042][0043]
其中e
i
为当前轮次节点i的剩余能量,为网络当前平均能量即若节点i的剩余能量小于阈值,导致p
i
小于0,进而t
i
小于0,节点无法当选为ch。因此公式(14)既可以提高高能节点当选簇首的概率,还可以有效保护低能量节点,从而延长网络寿命。
[0044]
步骤s3:考虑节点i周围的节点密度。将式(1)阈值改为:
[0045][0046]
其中n
d
=n
neighbor
*p
opt
,e0表示节点初始能量,n
neighbor
为节点i周围(通信半径r内)的节点数目。
[0047]
步骤s4:节点i随机产生一个0~1间的随机数,如果该数小于式(14)的t
i
,则该节点成为临时簇首,接下来非ch节点根据式(15)选择最小的d
c
入簇。
[0048][0049]
d(j,ch
i
)表示非簇首节点j与临时簇首i之间的距离,d(ch
i
,ld)表示临时簇首i与leader簇首之间的距离。在簇间多跳通信过程中,靠近leader簇首的ch对数据的接收、融合、转发任务多,导致能耗增大,形成能耗热区问题;而离leader簇首较远的ch相对而言任务量轻,能耗少。因此让非ch节点选择离自己较近、剩余能量较多且离leader簇首较远的ch加入,这样离leader簇首较近的簇拥有较少的cm,减少了簇内通信能耗;而离leader簇首较远的簇拥有较多的cm,形成了网络的非均匀簇集,有效降低全网能耗。
[0050]
步骤s5:正式簇首确立。定义c
i
表示第i个簇,d(u,v)表示簇i中节点u与节点v之间的距离,m为簇i中节点的数目,由能耗模型可知,能量的损耗与距离d有直接关系,因此定义为簇内的通信因子。正式簇首的确立考虑剩余能量及通信因子,采用式(16)来选择最终的簇首。
[0051][0052]
簇内的节点计算各自的ra值,最大的当选为该簇的簇首,从而使能量多、通信代价小的节点成为最终簇首。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1