一种无线传感器网络静态分簇算法转让专利

申请号 : CN201110430184.1

文献号 : CN102497679B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈涤李耀伟辛玲

申请人 : 山东大学

摘要 :

一种无线传感器网络的静态分簇算法,属无线传感器网络领域。该算法用于无线传感器网络拓扑控制,区别于传统网络分簇算法,该算法首先通过汇聚节点进行簇的划分,然后由本轮簇首负责下一轮簇首的选举。算法的执行过程是周期性的,网络建立或有大量节点加入或离开网络时,分为簇的划分阶段、簇首选择阶段、稳定数据通信阶段,其余周期仅执行后两个阶段。与传统层次型拓扑相比,该算法可以降低网络组网过程中的能量消耗,层次划分更加合理,可以有效延长网络生命周期。

权利要求 :

1.一种无线传感器网络静态分簇算法,该算法在满足以下网络模型的基础上进行:普通节点同质同构,能量有限;随机分布在M×M的区域内;汇聚节点及普通节点位置均固定;

汇聚节点能量供应持续,且汇聚节点可以向全网发送数据,该算法包括静态簇的划分,簇首的动态选举,以及稳定数据传输阶段时的簇首重新选举算法,其特征在于,由汇聚节点根据网络节点密度进行簇的划分,形成静态簇,然后每个簇由上一轮簇首进行下一轮簇首选举,步骤如下:第一步:划分静态簇,首先进行网络初始化,汇聚节点统计节点数目;然后汇聚节点计算最优簇个数及最优簇半径,最优簇个数kopt及簇半径TR分别为:其中N为网络节点数目,M代表节点分

布范围的边长,εfs,εmp代表发送节点的功放系数,dTo-S代表网络边缘到汇聚节点的距离,TR为簇半径;然后汇聚节点发送簇半径TR到各节点,各节点统计簇半径TR范围内的邻居节点数目,报告给汇聚节点;汇聚节点根据最优簇个数进行分簇,选择每个簇的中心节点;

第二步:选择簇首,首轮簇首选举由中心节点负责,从第二轮起,由上轮簇首负责下一轮簇首选举;中心节点或上轮簇首根据 选择pj最大的节点作为下一轮簇首,其中ERi为节点i剩余能量,ECavg为各簇节点为簇首时平均能耗,ERavg为节点平均剩余能量,EHj为节点j为簇首时簇内能耗;

第三步:重新选择簇首,当前簇首能量低于簇首重新选举算法所确定的剩余能量时,需要进行簇首重新选举;所述的簇首重新选举算法为: 其中Ei为簇首节点i耗能,Ej非簇首节点耗能,EIj为节点j初始能量,ERi为需要重新选举簇首时当前簇首i剩余能量。

说明书 :

一种无线传感器网络静态分簇算法

技术领域

[0001] 本发明涉及无线传感器网络中分簇算法,属于无线传感器网络领域。

背景技术

[0002] 对于自组织的无线传感器网络而言,网络拓扑控制对网络性能影响很大。良好的拓扑结构能够提高路由协议和介质访问控制协议的效率,为数据融合、时间同步和目标定位等很多方面提供基础,有利于延长整个网络的生存时间。传感器网络拓扑控制主要研究的问题是:在满足网络覆盖度和连通度的前提下,通过功率控制和骨干节点选择,剔除节点之间不必要的通信链路,形成一个数据转发的优化网络结构。目前,传感器网络中的拓扑控制可以分为节点功率控制和层次型拓扑结构组织。其中层次型拓扑控制利用分簇机制让一些节点作为簇首节点,由簇首节点形成一个处理并转发数据的骨干网,其他普通节点可以暂时关闭通信模块,进入休眠状态以节省能量。层次型的拓扑结构具有许多优点,例如,由簇头节点担负数据融合的任务,减少了数据通信量;分簇式的拓扑结构有利于分布式算法的应用,适合大规模部署的网络;由于大部分节点在相当长的时间内关闭通信模块,所以显著地延长整个网络的生存时间。目前在层次型拓扑控制方面,提出了TopDisc成簇算法,改进的虚拟地理网格分簇算法GAF,以及LEACH和HEED等自组织成簇算法。但是,这些算法往往考虑不够全面,只是针对网络拓扑的某一方面进行设计。例如,LEACH算法簇头选举没有考虑节点的具体地理位置,不能保证簇头均匀的分布在整个网络中均匀分布,且LEACH算法不适合应用于节点初始能量不均衡的网络。GAF算法需要节点精确地理位置信息且网格划分容易导致病态簇的出现。作为同样基于层次型拓扑控制机制的静态分簇算法,在不增加组网复杂度的前提下,可以克服以上两种分簇算法的缺陷,提升网络的生存周期。

发明内容

[0003] 针对LEACH协议簇首分布不均匀及要求初始能量相同,GAF协议要求精确地理信息且容易形成病态簇的问题,本发明提出了一种静态分簇算法。该算法利用汇聚节点静态分簇,动态簇首选举,是一种新的层次型拓扑机制。
[0004] 一种无线传感器网络静态分簇算法,在满足以下网络模型的基础上进行:普通节点同质同构,能量有限;随机分布在M×M的区域内;汇聚节点及普通节点位置均固定;汇聚节点能量供应持续,且汇聚节点可以向全网发送数据。本发明是由以下方式实现的:
[0005] 1、静态簇划分
[0006] 1)网络初始化
[0007] 网络节点布设后,汇聚节点向整个网络发送初始化信息InitMSG,其中包含汇聚节点发送功率PInit,网络内节点收到InitMSG后根据汇聚节点发送功率PInit损耗以不同退避时间Td向汇聚节点报告自己存在;初始网络路由未建立时,节点使用贪婪路由确定传输路径,然后由汇聚节点统计节点总数。
[0008] 2)计算最优簇个数及最优簇半径
[0009] 汇聚节点统计网络内节点数目后,采用模拟退火算法确定每轮数据采集过程中使网络整体能耗最低的最优簇个数:
[0010]
[0011] 其中N为网络节点数目,M代表节点分布范围的边长,εfs,εmp代表发送节点的功放系数,dTo-S代表网络边缘到汇聚节点的距离,TR为簇半径,由公式
[0012]
[0013] 给出,汇聚节点根据公式(1)(2)计算最优簇数目kopt,簇半径TR,广播给各节点。
[0014] 3)选取中心节点
[0015] 为降低广播风暴,各节点收到最优簇数目kopt,簇半径TR后,等待退避时间Td后进行广播,统计在TR范围内的邻居节点数目,并保存邻居节点距离表DisTab,然后通过初始路由报告给汇聚节点,汇聚节点根据邻居节点数目对节点进行排序形成表SCN,按照邻居节点数目从多到少选择簇的中心节点,SCN中候选中心节点到所有已确定中心节点距离需大于(1+α)TR,否则跳过此节点,继续选择SCN中后续节点作为中心节点,α为中心节点距离调整参数,取值范围为(0.5,1),初始取值为0.5;若中心节点数目超过kopt,则增大α的取值以选出合适的中心节点;中心节点确定后,对外广播组簇,将其TR范围内的节点选为同一簇,被选中的节点则产生簇标识CID,对于产生多个CID,即距离多个中心节点距离均小于TR的节点,选择距离自己最近中心节点所在的簇,不属于任何簇的节点则选择离自己最近的节点所在簇;至此,簇的划分完成。
[0016] 2、选择簇首
[0017] 首轮簇首节点选择由各个簇的中心节点CN选择,从第二轮开始由上轮簇首CH负责选择。簇划分完成后各节点需计算自己作为簇首时簇的整体能耗。首先CN向簇内节点发送簇节点表CNT,簇内节点比较DisTab表去除不属于本簇的节点,并根据到CN的距离以不同退避时间发送控制包,收集本簇内剩余节点到自己的距离LCH加入DisTab,然后计算自己为簇首时的本簇整体能耗EH,发送给CN或CH。首轮时CN需收集本簇内节点剩余能量ERi,其余时刻节点发送数据时会携带本节点剩余能量,无需单独收集。因为簇首间数据转发对单个簇内簇首选举不造成影响,故不考虑此因素,节点j假设自己为簇首时簇的整体能耗估计值EHj为:
[0018]
[0019] 其中Ej为簇首节点能耗,由公式
[0020]
[0021] 确定,其中Es为节点感知并产生1bit数据耗能,ri为节点i所采集数据,Eelec节点消耗在接收和发送电路上的能量,Ri为节点i聚合后的数据,Eik节点i发送1bit数据到节点k的能耗,EDA为节点处理1bit数据耗能。Ek由公式
[0022] Ei=Esri+Eikri (5)
[0023] 确定。然后CN或CH计算平均能耗ECavg,平均能量ERavg:
[0024]
[0025]
[0026] 于是节点j成为簇首的竞争值为:
[0027]
[0028] 由中心节点或上轮簇首选择pj最大的节点作为下一任簇首。当网络中没有大量节点死亡或加入时,各节点EH变化不大,所以前一簇首只要采集各节点剩余能量即可完成下一轮簇首的选举,当网络变化较大时才需要重新估算簇首能耗。
[0029] 3、重新选举簇首
[0030] 簇首选举完成后,进入稳定数据传输阶段。由于簇首能耗较高,当簇首剩余能量ERi小于xEIi时,就要重新执行簇首选举,其中,EIi为节点初始能量,x为比例系数,由公式:
[0031]
[0032] 给出,其中Ei由公式(5)确定,Ej由公式(4)确定。当满足ERi≤xEIi时,即由当前簇首进行下轮簇首选举。
[0033] 上述静态分簇算法包括静态簇划分、动态簇首选举和簇首重新选举条件,其特征如下,由汇聚节点根据网络节点密度进行簇的划分,形成静态簇,然后每个簇由上轮簇首进行下一轮簇首选举,以及在簇首能耗过低时重新进行簇首选举。
[0034] 本发明改进的簇划分机制可以更合理的对无线传感器网络进行划分,动态簇首选举机制能够选择更为合适的簇首以及明确簇首重新选举条件可以在最合适的时间进行簇首重选举,这种改进的分簇机制,有效的提升了网络拓扑的效率,有利于提升整个网络的生命周期。

附图说明

[0035] 图1为采用本发明所用的分簇算法对网络的划分及首轮簇首分布示意图。
[0036] 图2为本发明流程框图。
[0037] 其中,三角形为各簇簇首,方框、加号、星号、圆形和叉号分别代表不同的簇。

具体实施方式

[0038] 下面结合附图与实施例对本发明作进一步说明,但不限于此。
[0039] 实施例:
[0040] 一种无线传感器网络静态分簇算法,如图1和图2所示,在满足以下网络模型的基础上进行:普通节点同质同构,能量有限;随机分布在M×M的区域内;汇聚节点及普通节点位置均固定;汇聚节点能量供应持续,且汇聚节点可以向全网发送数据。本发明是由以下方式实现的:
[0041] 1、静态簇划分
[0042] 1)网络初始化
[0043] 网络节点布设后,汇聚节点向整个网络发送初始化信息InitMSG,其中包含汇聚节点发送功率PInit,网络内节点收到InitMSG后根据汇聚节点发送功率PInit损耗以不同退避时间Td向汇聚节点报告自己存在;初始网络路由未建立时,节点使用贪婪路由确定传输路径,然后由汇聚节点统计节点总数。
[0044] 2)计算最优簇个数及最优簇半径
[0045] 汇聚节点统计网络内节点数目后,采用模拟退火算法确定每轮数据采集过程中使网络整体能耗最低的最优簇个数:
[0046]
[0047] 其中N为网络节点数目,M代表节点分布范围的边长,εfs,εmp代表发送节点的功放系数,dTo-S代表网络边缘到汇聚节点的距离,TR为簇半径,由公式
[0048]
[0049] 给出,汇聚节点根据公式(1)(2)计算最优簇数目kopt,簇半径TR,广播给各节点。
[0050] 3)选取中心节点
[0051] 为降低广播风暴,各节点收到最优簇数目kopt,簇半径TR后,等待退避时间Td后进行广播,统计在TR范围内的邻居节点数目,并保存邻居节点距离表DisTab,然后通过初始路由报告给汇聚节点,汇聚节点根据邻居节点数目对节点进行排序形成表SCN,按照邻居节点数目从多到少选择簇的中心节点,SCN中候选中心节点到所有已确定中心节点距离需大于(1+α)TR,否则跳过此节点,继续选择SCN中后续节点作为中心节点,α为中心节点距离调整参数,取值范围为(0.5,1),初始取值为0.5;若中心节点数目超过kopt,则增大α的取值以选出合适的中心节点;中心节点确定后,对外广播组簇,将其TR范围内的节点选为同一簇,被选中的节点则产生簇标识CID,对于产生多个CID,即距离多个中心节点距离均小于TR的节点,选择距离自己最近中心节点所在的簇,不属于任何簇的节点则选择离自己最近的节点所在簇;至此,簇的划分完成。
[0052] 2、选择簇首
[0053] 首轮簇首节点选择由各个簇的中心节点CN选择,从第二轮开始由上轮簇首CH负责选择。簇划分完成后各节点需计算自己作为簇首时簇的整体能耗。首先CN向簇内节点发送簇节点表CNT,簇内节点比较DisTab表去除不属于本簇的节点,并根据到CN的距离以不同退避时间发送控制包,收集本簇内剩余节点到自己的距离LCH加入DisTab,然后计算自己为簇首时的本簇整体能耗EH,发送给CN或CH。首轮时CN需收集本簇内节点剩余能量ERi,其余时刻节点发送数据时会携带本节点剩余能量,无需单独收集。因为簇首间数据转发对单个簇内簇首选举不造成影响,故不考虑此因素,节点j假设自己为簇首时簇的整体能耗估计值EHj为:
[0054]
[0055] 其中Ej为簇首节点能耗,由公式
[0056]
[0057] 确定,其中Es为节点感知并产生1bit数据耗能,ri为节点i所采集数据,Eelec节点消耗在接收和发送电路上的能量,Ri为节点i聚合后的数据,Eik节点i发送1bit数据到节点k的能耗,EDA为节点处理1bit数据耗能。Ek由公式
[0058] Ei=Esri+Eikri (5)
[0059] 确定。然后CN或CH计算平均能耗ECavg,平均能量ERavg:
[0060]
[0061]
[0062] 于是节点j成为簇首的竞争值为:
[0063]
[0064] 由中心节点或上轮簇首选择pj最大的节点作为下一任簇首。当网络中没有大量节点死亡或加入时,各节点EH变化不大,所以前一簇首只要采集各节点剩余能量即可完成下一轮簇首的选举,当网络变化较大时才需要重新估算簇首能耗。
[0065] 3、重新选举簇首
[0066] 簇首选举完成后,进入稳定数据传输阶段。由于簇首能耗较高,当簇首剩余能量ERi小于xEIi时,就要重新执行簇首选举,其中,EIi为节点初始能量,x为比例系数,由公式:
[0067]
[0068] 给出,其中Ei由公式(5)确定,Ej由公式(4)确定。当满足ERi≤xEIi时,即由当前簇首进行下轮簇首选举。