基于目标阈值约束的改进LEACH协议的簇头选择算法的制作方法

文档序号:17326426发布日期:2019-04-05 21:49阅读:290来源:国知局
基于目标阈值约束的改进LEACH协议的簇头选择算法的制作方法

本发明涉及无线传感器网络通信技术领域,具体而言,涉及一种基于目标阈值约束的改进leach协议的簇头选择算法。



背景技术:

随着传感器技术、传感器制造工艺以及无线通信技术的快速发展,各种功能不同的微型传感器在嵌入式技术的支持下以自组织形式构成无线传感器网络(wirelesssensornetworks,wsn)。wsn被广泛应用在环境监测、智能家居、工业控制、医疗护理、军事战场等诸多应用领域中。wsn通常由大量能量有限且一次部署后能量不易补充的传感器节点组成,传感器节点大多随机部署在监测环境中,完成监测范围内目标的任务。为了高效合理的利用网络中传感器资源,在满足目标测量精度的前提下开启尽量少的传感器可以更高效的利用网络中的传感器资源节约能耗,而wsn的主要能耗分为通信能耗、感知能耗和计算能耗,其中通信过程的能耗最多。因此,网络中的路由设计就成了减少节点能耗的主要途径。

最早的基于分簇的低功耗自适应分层式路由协议是由mit的heinzelman等人在2000年提出的leach路由协议,该协议与一般的平面多跳路由协议和静态分层协议相比,可以将网络生命周期延长30%左右,更好的实现了动态网络的可扩展性和鲁棒性。leach协议是无线传感器网络中经典的低功耗自适应分簇结构算法,其在运行过程中不断地循环执行簇的重构,每个簇的重构过程即为“一轮”,在每轮中,可以分为两个阶段:簇的建立阶段和数据传输的稳定阶段。在簇的建立阶段,首先根据无线传感器网络中所需要的簇头节点总数和截至到当前轮每个节点已成为簇头节点的次数来决定簇头节点的选择,然后根据簇头节点网络中所有非簇头节点自组织形成相应的簇。在数据传输的稳定阶段,每一个簇内非簇头节点负责采集目标的数据信息并发送给所属簇的簇头节点,簇头节点接收非簇头节点发送的数据信息并将接收到的数据信息进行相关数据融合,然后将融合后的数据发送给基站,基站将数据传送给监控中心来进行后续数据的处理。为了减少分簇带来的额外能耗,数据传输的稳定阶段远远长于簇的建立阶段,稳定阶段持续一段时间后,网络重新进入簇的建立阶段,进行下一轮的簇重建,开始新一轮的簇头选择过程。leach协议是一种比较成熟且常用的分层路由算法,该算法可以有效地均衡无线传感器网络中的节点能量消耗,延长无线传感器网络的生命周期。

leach协议是无线传感器网络分簇算法的典型代表,是研究其他分簇路由协议的基础,与其他路由算法相比具有一定的优势,但是该算法仍然存在一些局限性:首先,leach协议没有考虑监测区域中的目标,对目标进行观测时不能高效的利用传感器资源。其次,leach算法在簇头选择过程中仅是依据网络中节点期望成为簇头的最优概率随机性的选择簇头,而没有考虑节点的剩余能量。最后,该协议也没有考虑监测范围内的节点的位置分布,可能出现簇头集中分布在网络某一区域的现象,从而导致节点能量消耗不均衡。以上因素都会影响网络中节点的能量消耗,进而影响网络整体的生存时间。



技术实现要素:

本发明正是基于上述经典leach协议存在的缺点,提出了一种新的基于目标阈值约束的改进leach协议的簇头选择算法,能够在目标与节点阈值条件约束下,基于节点到基站和到目标的距离因子以及节点剩余能量率等条件同时约束下的改进leach算法,该算法使簇头选择机制更加合理,更有效的平衡网络中节点的能量消耗,延长网络的生命周期。

有鉴于此,本发明提出了一种新的基于目标阈值约束的改进leach协议的簇头选择算法,包括以下步骤:

步骤1:在无线传感器监测区域m×m内随机部署m个传感器节点构成传感器观测集合,记为s={s1,s2,l,si}(i∈m),设定基站固定、目标t固定、每个所述传感器节点si的初始能量eo、被选为簇头节点的概率p、最大运行轮数rmax。

步骤2:根据无线传感器监测区域中所述传感器节点si、所述基站和所述目标t的位置坐标,构建监测区域内所述传感器节点si(i∈m)分别到所述目标t和所述基站的距离集合dst和dss,之后分别将所述距离集合dst和dss归一化为0:1区间内的距离因子集合wst和wss,其中:wst={ωst(1),ωst(2),lωst(i)},wst={ωst(1),ωst(2),lωst(i)}。

步骤3:根据所述传感器节点si的剩余能量、硬件构造特性及监测区域环境因素,确定所述传感器节点si对所述目标t有效监测的距离因子阈值tωst。

步骤4:将步骤2中所述传感器节点si到所述目标t的距离因子ωst(i)与步骤三中的有效距离因子阈值tωst进行比较,如果ωst(i)≤tωst,i∈m,则传感器节点si被选为候选观测节点,并且所有候选观测节点构成观测节点集合g′。

步骤5:在传感器候选观测节点集合g′中,对所述传感器节点si(i∈g′)进行随机性簇头选择,即将节点si产生的0:1之间均匀分布的随机数trand(i)与该节点选为簇头的阈值t(i)进行比较,若trand(i)≤t(i),i∈g′,则该节点被选为簇头节点,否则,该节点成为非簇头节点。监测区域所有簇头节点构成集合c′,所有非簇头节点构成集合n′。

步骤6:在集合c′中,首先每个簇头节点向整个监测区域发送其成为簇头的信息,然后簇头节点为该簇的非簇头节点分配数据传输通道并接收本簇内非簇头节点发送的采样数据,最后簇头节点将接收的数据进行相关数据融合并将融合后的数据传输给基站。

步骤7:比较非簇头节点与基站以及集合c′中的所有簇头节点的距离。如果该非簇头节点距离基站最近,则该节点不加入任何簇;否则该节点加入到距离最近的簇头节点所在的簇。所有节点分簇之后,由簇头和非簇头形成的所有簇构成簇集合cn′。

步骤8:在簇集合cn′中,每一个簇的非簇头节点负责将采集到的目标信息传输给簇头节点。对于没有加入任何簇的非簇头节点直接与基站进行数据传输。

步骤9:保存所述各传感器节点si(i∈m)的剩余能量,以及各节点进行簇头选择的情况。

步骤10:重复步骤5:步骤9,直到达到预设的运行次数,即r=rmax或各候选节点能量耗尽,之后比较每轮中各节点的剩余能量及存活节点个数。

在该技术方案中,步骤2中,无线监测区域内所述传感器节点si到所述目标t和到所述基站的距离为dst(i)和dss(i),即:

所述传感器节点si到所述目标t和到所述基站的距离集合dst和dss如下:

dst={dst(1),dst(2),ldst(i)},dss={dss(1),dss(2),ldss(i)}

对所述传感器节点si(i∈m)与所述目标t和到所述基站的距离归一化公式如下:

其中,目标位置坐标(xt,yt),基站位置坐标(xs,ys),传感器节点si的坐标(x(i),y(i))。ωst(i)为传感器节点si与目标t归一化后的距离因子,dst(i)表示节点si与目标t之间的距离;dtmax,dtmin分别表示监测区域内的节点si到目标t的距离最大值和最小值,m表示所述传感器节点个数,ωss(i)为传感器节点si与基站归一化后的距离因子,dss(i)表示节点si到基站的距离;dsmax,dsmin分别表示监测区域内的节点到基站的距离最大值和最小值。

在该技术方案中,步骤3中,所述传感器节点si对目标t有效监测的距离阈值tωst(i)的表达式为:

其中,第一部分表示节点能量对距离因子阈值的影响,其中,er(i)代表当前节点si的剩余能量,e0表示节点的初始能量;第二部分表示传感器节点硬件构造对距离因子阈值的影响,dst(i)表示监测区域节点si与目标t的距离,ks表示传感器的灵敏度,fs表示传感器的采样频率,ρs表示传感器的稳定性;第三部分为监测区域环境对距离因子阈值的影响,rhs表示监测区域环境的相对湿度,ts表示监测区域的温度,ψs表示监测区域环境的能见度。

在该技术方案中,步骤5中,传感器节点选为簇头的阈值t(i)的表达式为:

其中,δp表示校准的期望簇头概率,ωst(i)表示所述传感器节点si到目标t的距离因子,ωss(i)表示所述传感器节点si到基站的距离因子,α,β,γ分别表示节点剩余能量率和距离因子的加权系数,epavg表示邻域节点的平均剩余能量率,g′表示候选观测节点集合。其中有以下辅助表达式:

其中,p表示期望的簇头概率,er(i)代表当前节点si的剩余能量,er(j)表示节点si的邻居节点sj的剩余能量,g′表示候选观测节点集合,n′代表监测区域中节点si邻域内节点个数。

在该技术方案中,步骤6和步骤8中,节点能耗模型如下:节点发送kbit数据到距离为dtr的接收节点消耗的总能量etx的表达式为:

节点接收kbit数据消耗能量erx表达式为:

erx(k)=erx-elec(k)=keelec

其中,erx-elec为发射电路消耗的能量,etx-amp为发送端功率放大电路消耗的能量,eelec为发送端平均每处理1bit数据所消耗的能量;k为发送数据的长度;dtr为数据传输的距离(接收端与发射端之间的距离);εfs为自由空间衰减信道模型下发送功率放大器向单位面积发射1bit数据消耗的能量,εmp为多路衰减信道模型下发送功率放大器向单位面积发射1bit数据消耗的能量,并且εfs和εmp由发射距离和接收误码率等决定;d0表示有效通信距离,为一个常数,其表达式为:

因此,在无线传感器网络运行中每一轮簇头节点消耗的能量为:

ehead=ebroadcast+erecep-cont+etrans-cont+erecep-data+eda+etrans-data

=etbr(k1,dnet)+erc(k1)+ettc(k2,dci)+erd(k2)+eda(k2)+ettd(k2,dci)

其中,ebroadcast为簇头节点向整个监测区域发送其成为簇头的广播信息的能耗,erecep-cont为簇头接收非簇头节点加入簇的控制信息的能耗,etrans-cont为簇头节点向非簇头节点发送回复入簇请求的能耗,erecep-cont为簇头节点接收非簇头节点采样数据的能耗,eda为簇头进行数据融合的能耗,etrans-data为簇头节点将融合后的数据发送给基站的能耗,k1表示控制信息包的大小,k2表示非簇头节点对目标采样数据包的大小,dnet表示监测区域中任意两点间的最大距离,dci表示非簇头节点与所属簇头的距离。

每一轮非簇头节点消耗的能量分为两种情况:(1)非簇头节点加入相应的簇的能耗;(2)非簇头节点不加入任何簇,直接与基站传输数据的能耗。其能耗表达式如下:

其中,erecep-broa为非簇头节点接收广播信息的能耗,etrans-cont为非簇头节点发送入簇请求的能耗,erecep-cont为非簇头接收簇头节点回复入簇信息的能耗,etrans-data为非簇头节点将采集的目标数据发送给所述簇头节点或非簇头节点直接发送给基站的能耗,k1表示控制信息包的大小,k2表示非簇头节点采集的目标数据包的大小,dci表示非簇头节点与所属簇头的距离,dsi表示非簇头节点与基站的距离。

通过以上技术方案,本发明针对监测区域内传感器资源利用效率不高以及在leach路由协议下,网络中节点在簇头选择时没有考虑节点的剩余能量及节点的位置等不足,基于经典的leach算法,提出一种满足目标与节点距离因子阈值约束的在节点与汇聚节点、节点与目标的距离因子以及节点剩余能量率同时作用下的簇头选择策略的改进算法,该算法首先对监测区域内的节点按照节点与目标的位置关系选择为候选观测节点,然后在候选观测节点中对节点进行随机性簇头选择,本发明对节点簇头选择的阈值进行改进,使簇头选择机制更加合理,能更有效的平衡网络中节点的能量消耗,延长网络的生命周期。

附图说明

图1示出了根据本发明的实施例的基于目标阈值约束的改进leach协议的簇头选择算法的流程图。

图2示出了根据本发明的实施例的基于目标阈值约束的改进leach协议的簇头选择算法的能耗流程图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

以下结合图1至图2对本发明进行进一步解释说明。

如图1至图2所示,本发明的实施例的基于目标阈值约束的改进leach协议的簇头选择算法包括以下步骤:

(1)在无线传感器监测区域m×m内随机部署m个传感器节点构成传感器观测集合,记为s={s1,s2,l,si}(i∈m),设定基站固定、目标t固定、每个所述传感器节点si的初始能量eo、被选为簇头节点的概率p、最大运行轮数rmax。

(2)根据无线传感器监测区域中所述传感器节点si、所述基站和所述目标t的位置坐标,构建监测区域内所述传感器节点si(i∈m)分别到所述目标t和所述基站的距离集合dst和dss,之后分别将所述距离集合dst和dss归一化为0:1区间内的距离因子集合wst和wss,其中wst={ωst(1),ωst(2),lωst(i)}和wst={ωst(1),ωst(2),lωst(i)}。无线监测区域内所述传感器节点si到所述目标t和到所述基站的距离为dst(i)和dss(i),即:

所述传感器节点si到所述目标t和到所述基站的距离集合dst和dss如下:

dst={dst(1),dst(2),ldst(i)},dss={dss(1),dss(2),ldss(i)}

对所述传感器节点si(i∈m)与所述目标t和到所述基站的距离归一化公式如下:

其中,目标位置坐标(xt,yt),基站位置坐标(xs,ys),传感器节点si的坐标(x(i),y(i))。ωst(i)为传感器节点si与目标t归一化后的距离因子,dst(i)表示节点si与目标t之间的距离;dtmax,dtmin分别表示监测区域内的节点si到目标t的距离最大值和最小值,m表示所述传感器节点个数,ωss(i)为传感器节点si与基站归一化后的距离因子,dss(i)表示节点si到基站的距离;dsmax,dsmin分别表示监测区域内的节点到基站的距离最大值和最小值。

(3)根据所述传感器节点si的剩余能量、硬件构造特性及监测区域环境因素,确定所述传感器节点si对所述目标t有效监测的距离因子阈值tωst(i)。所述传感器节点si对目标t有效监测的距离阈值tωst(i)的表达式为:

其中,第一部分表示节点能量对距离因子阈值的影响,其中,er(i)代表当前节点si的剩余能量,e0表示节点的初始能量;第二部分表示传感器节点硬件构造对距离因子阈值的影响,dst(i)表示监测区域节点si与目标t的距离,ks表示传感器的灵敏度,fs表示传感器的采样频率,ρs表示传感器的稳定性;第三部分为监测区域环境对距离因子阈值的影响,rhs表示监测区域环境的相对湿度,ts表示监测区域的温度,ψs表示监测区域环境的能见度。

(4)比较步骤(2)中所述传感器节点si对目标t的距离因子ωst(i)与步骤(3)中的距离因子阈值tωst(i)大小,构建传感器观测节点候选集合g′;当ωst(i)≤twst(i)时,当前节点si加入观测节点的候选集合g′,如果ωst(i)>twst(i),则当前节点si不会对目标进行观测,该节点处于休眠状态。

(5)在传感器候选观测节点集合g′中,对所述传感器节点si(i∈g′)进行随机性簇头选择,即将节点si产生的0:1之间均匀分布的随机数trand(i)与该节点被选为簇头节点的阈值t(i)进行比较,若trand(i)≤t(i),i∈g′,则该节点被选为簇头节点,否则,该节点成为非簇头节点。监测区域所有簇头节点构成集合c′,所有非簇头节点构成集合n′。传感器节点选为簇头的阈值t(i)的表达式为:

其中,δp表示校准的期望簇头概率,ωst(i)表示所述传感器节点si到目标t的距离因子,ωss(i)表示所述传感器节点si到基站的距离因子,α,β,γ分别表示节点剩余能量率和距离因子的加权系数,epavg表示邻域节点的平均剩余能量率,g′表示候选观测节点集合。其中有以下辅助表达式:

其中,p表示期望的簇头概率,er(i)代表当前节点si的剩余能量,er(j)表示节点si的邻居节点sj的剩余能量,g′表示候选观测节点集合,n′代表监测区域中节点si邻域内节点个数。

(6)在集合c′中,首先每个簇头节点向整个监测区域发送其成为簇头的信息,然后簇头节点为该簇的非簇头节点分配数据传输通道并接收本簇内非簇头节点发送的采样数据,最后簇头节点将接收的数据进行相关数据融合并将融合后的数据传输给基站。节点能耗模型如下:节点发送kbit数据到距离为dtr的接收节点消耗的总能量etx的表达式为:

节点接收kbit数据消耗能量erx表达式为:

erx(k)=erx-elec(k)=keelec

其中,erx-elec为发射电路消耗的能量,etx-amp为发送端功率放大电路消耗的能量,eelec为发送端平均每处理1bit数据所消耗的能量;k为发送数据的长度;dtr为数据传输的距离(接收端与发射端之间的距离);εfs为自由空间衰减信道模型下发送功率放大器向单位面积发射1bit数据消耗的能量,εmp为多路衰减信道模型下发送功率放大器向单位面积发射1bit数据消耗的能量,并且εfs和εmp由发射距离和接收误码率等决定;d0表示有效通信距离,为一个常数,其表达式为:

因此,在无线传感器网络运行中每一轮簇头节点消耗的能量为:

ehead=ebroadcast+erecep-cont+etrans-cont+erecep-data+eda+etrans-data

=etbr(k1,dnet)+erc(k1)+ettc(k2,dci)+erd(k2)+eda(k2)+ettd(k2,dci)

其中,ebroadcast为簇头节点向整个监测区域发送其成为簇头的广播信息的能耗,erecep-cont为簇头接收非簇头节点加入簇的控制信息的能耗,etrans-cont为簇头节点向非簇头节点发送回复入簇请求的能耗,erecep-cont为簇头节点接收非簇头节点采样数据的能耗,eda为簇头进行数据融合的能耗,etrans-data为簇头节点将融合后的数据发送给基站的能耗,k1表示控制信息包的大小,k2表示非簇头节点对目标采样数据包的大小,dnet表示监测区域中任意两点间的最大距离,dci表示非簇头节点与所属簇头的距离。

每一轮非簇头节点消耗的能量分为两种情况:(1)非簇头节点加入相应的簇的能耗;(2)非簇头节点不加入任何簇,直接与基站传输数据的能耗。其能耗表达式如下:

其中,erecep-broa为非簇头节点接收广播信息的能耗,etrans-cont为非簇头节点发送入簇请求的能耗,erecep-cont为非簇头接收簇头节点回复入簇信息的能耗,etrans-data为非簇头节点将采集的目标数据发送给所述簇头节点或非簇头节点直接发送给基站的能耗,k1表示控制信息包的大小,k2表示非簇头节点采集的目标数据包的大小,dci表示非簇头节点与所属簇头的距离,dsi表示非簇头节点与基站的距离。

(7)比较非簇头节点与基站以及集合c′中的所有簇头节点的距离。如果该非簇头节点距离基站最近,则该节点不加入任何簇;否则该节点加入到距离最近的簇头节点所在的簇。所有节点分簇之后,由簇头和非簇头形成的所有簇构成簇集合cn′。

(8)在簇集合cn′中,每一个簇的非簇头节点负责将采集到的目标信息传输给簇头节点。对于没有加入任何簇的非簇头节点直接与基站进行数据传输。

(9)保存所述各传感器节点si(i∈m)的剩余能量,以及各节点进行簇头选择的情况。

(10)重复步骤(5):步骤(9),直到达到预设的运行次数,即r=rmax或各候选节点能量耗尽,之后比较每轮中各节点的剩余能量及存活节点个数。

以上结合附图详细说明了本发明的技术方案,本发明的技术方案提出了一种新的基于目标阈值约束的改进leach协议的簇头选择算法。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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