基于区域划分的传感网节能离取改进方法技术

技术编号:10324971 阅读:189 留言:0更新日期:2014-08-14 11:46
基于区域划分的传感网节能离取改进算法,主要用于解决无线传感器网络能量有限的问题。通过使用本发明专利技术所提出的方法可以提高无线传感器网络的能量利用率,延长网络的生存周期,同时还可以改善离取算法簇头节点分布不均匀的缺陷。本发明专利技术是在原有的离取算法的基础上,实现网络能量高效利用、改善离取算法缺陷的算法。本算法在无线传感器网络能量有限的情况下,减少了数据在数据融合和数据传输等阶段的能量消耗,同时优化了簇头节点在网络中的布局,进一步提高了能量的利用率,延长了网络的生存时间。本发明专利技术在保证数据采集和数据传输都能正确有效实现的情况下,优化了无线传感器网络的结构,实现了网络中能量的合理高效的利用。

【技术实现步骤摘要】

本专利技术是一种基于区域划分的传感网节能离取(LEACH(Low Energy AdaptiveClustering Hierarchy),中译名为“离取”)改进方法,主要用于解决无线传感器网络能量利用率低、离取算法簇头分布不均匀和延长网络生存周期的问题,属于无线传感器网络研究领域。
技术介绍
无线传感器网络(Wireless Sensor Network,WSN)是由大量价格低廉的具有数据采集感知能力和计算能力的传感器节点通过自组织所形成网络通信系统,在网络的覆盖区域内可以完成对复杂事件的监测任务。随着无线通信及微电子技术的快速发展,无线传感器网络在工业、农业、军事等传统领域和以智能家居、医疗保健、城市交通为代表的新兴领域展现出广泛的应用前景。对于无线传感器网络而言,拓扑控制是无线传感器网络研究的核心技术之一,它可以自动生成良好的网络拓扑结构,能够提高路由协议和MAC (Mu 11 ip I eAccess Control,MAC)协议的效率,可为数据融合、时间同步和目标定位等很多方面奠定基础,有利于节省节点的能量,从而延长网络的生命周期。拓扑控制可分为节点功率控制和层次型拓扑组织两个方面。功率控制机制调节网络中每个节点的发射功率,在满足网络连通度的前提下,减少节点的发射功率,均衡节点单跳可达的邻居数目。层次型拓扑组织利用分簇机制,让一些节点作为簇首节点,由簇首节点形成一个处理并转发数据的骨干网,其他非骨干网节点可以暂时关闭通信模块,进入休眠状态以节省能量。离取算法作为最具代表性的层次型拓扑组织分簇算法,其后出现的大部分层次型拓扑组织算法都是在其基础上发展而来的,所以对其进行研究和改进具有特别重要的意义。离取算法是一种低功耗自适应分簇算法,其基本思想是通过等概率地随机循环选择簇头,将整个网络的能量负载平均分配到每个传感器节点,从而达到降低网络整体能耗、延长网络生存周期的目的。该算法将整个网络划分成若干个簇,每个簇由I个簇头节点和若干成员节点(簇内节点)组成,如图1所示。离取算法节约能量的主要原因在于它运用了数据压缩技术和动态分簇路由技术,通过本地的联合工作来提高网络的可扩展性和鲁棒性,通过数据融合来减少发送的数据量,通过把节点随机的设置成簇头节点来达到在网络内部负载均衡的目的,防止簇头节点能量的过快消耗,延长网络的生存周期。离取算法的执行过程是周期性的,每轮循环分为簇的建立阶段和稳定的数据通信阶段。在簇的建立阶段,相邻节点动态地形成簇,随机产生簇头,成为簇头的节点向周围节点发送广播消息,其他节点根据接收到的广播消息的强度来选择它所要加入的簇,并告知相应的簇头。在稳定的数据传输阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。簇头工作任务比较繁重,需要完成数据融合,还要与汇聚节点通信,所以能量消耗较大。离取算法选举出的簇头分布不均匀,且簇头节点和簇内节点相比能量消耗较大,降低了网络的生命周期。专利技术目的技术问题:本专利技术的目的是提出一种基于区域划分的节能离取改进算法,来降低网络整体的能量消耗,实现网络内节点的负载均衡,延长网络的生存周期。同时,改进的离取算法可以使簇头节点均匀地分布在整个网络中,保证了网络的覆盖范围和生存时间。技术方案:本专利技术提出的是一种策略方法,分簇算法的选择和应用直接影响整个网络的能量消耗和网络生存周期。主要用于解决离取算法能量利用率低、簇头分布不均匀和延长网络生存周期的问题。改进的离取算法将整个区域划分成多个区域,采用静态的分簇方式,利用多跳向基站BS(Base Station,BS)发送数据,以节省簇头节点能量的消耗提高节点能量有效性。具体包含步骤如下:步骤I)设基站BS在整个传感区域之外,并且位于距离整个传感区域较远的位置,传感器节点将自己的地理位置信息发送给BS,BS收到传感区域内各个传感器节点发来的位置信息后,根据这些信息计算出区域中距离自己最近节点的距离mind和距离自己最远节点的距离maxd ;设BS将整个区域划分为2*k+l个部分,其中k>0且为整数,则将maxd-mind分为2*k+l段,每一段的距离为d= (maxd-mind) / (2*k+l),然后以BS为圆心,以minr+d*n为半径画圆,其中η>=1且n〈=k,被圈在同一圆内的传感器节点就属于同一部分区域;设k=l,则将整个区域可以划分为三个部分区域,以mind+d为半径画圆,被圆圈起来的区域作为一级簇域GID=I,然后以mind+2*d为半径再画圆,被圈起来的部分减去一级簇域的部分,剩下的那部分作为二级簇域GID=2,最后以mind+3*d为半径再画圆,被圈起来的部分减去二级簇域的部分,剩下的部分区域作为三级簇域GID=3,步骤2)如果传感区域内所有传感器节点初始能量均相等,需要将选举簇头的门限值Thresh设置为各个区域预先设置好的成为簇头的概率值;在二级簇域中成为簇首的概率为P,所以该区域选举成为簇首的门限值Thresh就设置为P;节点产生一个O至I之间的随机数,如果这个数小于P,则该节点就被选为簇头;如果节点初始能量不相等,那么需要将簇头选举和节点能量联系起来,能量相对多的节点成为簇首的概率应该更大;在二级簇域中,应用几何关系,可以得出该簇域内节点的数量,假设该二级簇域内有η个节点,那么该Thresh值就应该设置为E (i) /E (total) *nP,其中E (i)为节点i当前的能量值,E (total)为簇域内所有节点能量的总和,这种情况下成为簇首的概率为P,该簇域内簇头个数的期望值为nP ;同样地,节点产生一个O至I之间的随机数,如果这个数小于门限值Thresh,即为E (i)/E (total) *nP,则该节点就被选为簇头;簇头选举出来之后,将簇头的ID记录到自己簇域的全局变量region_center_list中,最终得到的region_center_list就是该簇域内所有簇头节点ID的列表;步骤3)当簇头节点全部选举出来之后,簇头节点发布通告消息告知其他节点自己是新的簇头;同区域内的非簇头节点接收到该消息后,根据自己与簇头节点之间的距离来选择加入哪个簇,当同区域内的非簇头节点选定自己要加入的簇后,向该簇的簇头节点发送加入该簇的消息,然后簇头节点需要根据簇内节点的数目建立TDMA调度,并将该调度发送给各个簇内节点,当簇内节点向簇头节点发送数据时,就必须要按照该时间调度进行数据发送,以避免数据发送时产生冲突;步骤4)组建簇头多跳路径,使簇头融合数据之后将数据以多跳方式发送给BS,减少了数据传输时的能量消耗;在簇头节点选举的时候,已经将选为簇头节点的节点ID记录到了 region_center_list列表中,通过簇域的region_center_list列表可以得到下一跳簇域内所有节点的ID列表,该列表就相当于下一跳的候选列表;利用随机自治的方式来确定簇头节点的多跳路径,簇头节点只需从这些候选节点中随机选出一个节点作为自己的下一跳节点,这样就建立了各个簇头节点的多跳路径;步骤5)由于簇头节点担负的任务比非簇头节点重,所以消耗的能量多,这样就容易导致簇头节点能量耗尽而死亡;为了保持网络内节点能量均衡分布,采用轮换簇头节点的方法;采本文档来自技高网...

【技术保护点】
一种基于区域划分的传感网节能离取改进方法,其特征在于该方法具体包含如下步骤:步骤1)设基站BS在整个传感区域之外,并且位于距离整个传感区域较远的位置,传感器节点将自己的地理位置信息发送给BS,BS收到传感区域内各个传感器节点发来的位置信息后,根据这些信息计算出区域中距离自己最近节点的距离mind和距离自己最远节点的距离maxd;设BS将整个区域划分为2*k+1个部分,其中k>0且为整数,则将maxd‑mind分为2*k+1段,每一段的距离为d=(maxd‑mind)/(2*k+1),然后以BS为圆心,以minr+d*n为半径画圆,其中n>=1且n<=k,被圈在同一圆内的传感器节点就属于同一部分区域;设k=1,则将整个区域可以划分为三个部分区域,以mind+d为半径画圆,被圆圈起来的区域作为一级簇域GID=1,然后以mind+2*d为半径再画圆,被圈起来的部分减去一级簇域的部分,剩下的那部分作为二级簇域GID=2,最后以mind+3*d为半径再画圆,被圈起来的部分减去二级簇域的部分,剩下的部分区域作为三级簇域GID=3,步骤2)如果传感区域内所有传感器节点初始能量均相等,需要将选举簇头的门限值Thresh设置为各个区域预先设置好的成为簇头的概率值;在二级簇域中成为簇首的概率为P,所以该区域选举成为簇首的门限值Thresh就设置为P;节点产生一个0至1之间的随机数,如果这个数小于P,则该节点就被选为簇头;如果节点初始能量不相等,那么需要将簇头选举和节点能量联系起来,能量相对多的节点成为簇首的概率应该更大;在二级簇域中,应用几何关系,可以得出该簇域内节点的数量,假设该二级簇域内有n个节点,那么该Thresh值就应该设置为E(i)/E(total)*nP,其中E(i)为节点i当前的能量值,E(total)为簇域内所有节点能量的总和,这种情况下成为簇首的概率为P,该簇域内簇头个数的期望值为nP;同样地,节点产生一个0至1之间的随机数,如果这个数小于门限值Thresh,即为E(i)/E(total)*nP,则该节点就被选为簇头;簇头选举出来之后,将簇头的ID记录到自己簇域的全局变量region_center_list中,最终得到的region_center_list就是该簇域内所有簇头节点ID的列表;步骤3)当簇头节点全部选举出来之后,簇头节点发布通告消息告知其他节点自己是新的簇头;同区域内的非簇头节点接收到该消息后,根据自己与簇头节点之间的距离来选择加入哪个簇,当同区域内的非簇头节点选定自己要加入的簇后,向该簇的簇头节点发送加入该簇的消息,然后簇头节点需要根据簇内节点的数目建立TDMA调度,并将该调度发送给各个簇内节点,当簇内节点向簇头节点发送数据时,就必须要按照该时间调度进行数据发送,以避免数据发送时产生冲突;步骤4)组建簇头多跳路径,使簇头融合数据之后将数据以多跳方式发送给BS,减少了数据传输时的能量消耗;在簇头节点选举的时候,已经将选为簇头节点的节点ID记录到了region_center_list列表中,通过簇域的region_center_list列表可以得到下一跳簇域内所有节点的ID列表,该列表就相当于下一跳的候选列表;利用随机自治的方式来确定簇头节点的多跳路径,簇头节点只需从这些候选节点中随机选出一个节点作为自己的下一跳节点,这样就建立了各个簇头节点的多跳路径;步骤5)由于簇头节点担负的任务比非簇头节点重,所以消耗的能量多,这样就容易导致簇头节点能量耗尽而死亡;为了保持网络内节点能量均衡分布,采用轮换簇头节点的方法;采用静态分簇的方法,由于在首轮循环中已经进行了簇的划分,所以以后每轮循环阶段不再重新划分簇,只需要更新簇头节点;除了首轮循环之外,在以后的循环过程中,现任簇头节点根据簇内节点的剩余能量来进行新的簇头节点的选定,选定新的簇头节点之后现任簇头节点向所有簇内节点发布广播消息,通知所有簇内节点当前新的簇头节点的ID,同时,现任簇头节点需将自己设置为非簇头节点,并将自己当前的簇头节点设置为新簇头节点的ID;簇内节点接收到现任簇头节点发来的广播消息后,将广播消息中的新簇头节点的节点ID值与自己的ID进行比较,如果相等,则说明自己在下一轮中将以簇头的身份存在,如果不相等,则将自己的当前簇头节点的ID设置为收到的广播消息中的ID;当前簇头节点的另外一个任务是重新建立簇内节点发送数据的时隙表,即TDMA调度表,并将其广播给簇内节点,簇内成员节点接收到该消息后,计算自己发送数据的时间,在轮到自己发送数据的时候便发送数据,否则进入睡眠状态以节省能量;步骤6)由于新的一轮循环中对簇头节点进行了更新操作,该簇域内相应的region_center_list列表也会随之发生更新,在重新确立了簇头节点之后,新的簇头节点利用随机...

【技术特征摘要】
1.一种基于区域划分的传感网节能离取改进方法,其特征在于该方法具体包含如下步骤: 步骤I)设基站BS在整个传感区域之外,并且位于距离整个传感区域较远的位置,传感器节点将自己的地理位置信息发送给BS,BS收到传感区域内各个传感器节点发来的位置信息后,根据这些信息计算出区域中距离自己最近节点的距离mind和距离自己最远节点的距离maxd ;设BS将整个区域划分为2*k+l个部分,其中k>0且为整数,则将maxd-mind分为2*k+l段,每一段的距离为d= (maxd-mind) / (2*k+l),然后以BS为圆心,以minr+d*n为半径画圆,其中η>=1且n〈=k,被圈在同一圆内的传感器节点就属于同一部分区域;设k=l,则将整个区域可以划分为三个部分区域,以mind+d为半径画圆,被圆圈起来的区域作为一级簇域GID=I,然后以mind+2*d为半径再画圆,被圈起来的部分减去一级簇域的部分,剩下的那部分作为二级簇域GID=2,最后以mind+3*d为半径再画圆,被圈起来的部分减去二级簇域的部分,剩下的部分区域作为三级簇域GID=3, 步骤2)如果传感区域内所有传感器节点初始能量均相等,需要将选举簇头的门限值Thresh设置为各个区域预先设置好的成为簇头的概率值;在二级簇域中成为簇首的概率为P,所以该区域选举成为簇首的门限值Thresh就设置为P ;节点产生一个O至I之间的随机数,如果这个数小于P,则该节点就被选为簇头;如果节点初始能量不相等,那么需要将簇头选举和节点能量联系起来,能量相对多的节点成为簇首的概率应该更大;在二级簇域中,应用几何关系,可以得出该簇域内节点的数量,假设该二级簇域内有η个节点,那么该Thresh值就应该设置为E (i)/E (total) *ηΡ,其中E (i)为节点i当前的能量值,E (total)为簇域内所有节点能量的总和,这种情况下成为簇首的概率为P,该簇域内簇头个数的期望值为nP ;同样地,节点产生一个O至I之间的随机数,如果这个数小于门限值Thresh,即为E (i)/E (total) *nP,则该节点就被选为簇头;簇头选举出来之后,将簇头的ID记录到自己簇域的全局变量region_center_list中,最终得到的region_center_list就是该簇域内所有簇头节点ID的列表; 步骤3)当簇头节点全部选举出来之后,簇头节点发布通告消息告知其他节点自己是新的簇头;同区域内的非簇头节点接收到该消息后,根据自己与簇头节点之间的距离来选择加入哪个簇,当同区域内的非簇头节点选定自己要加入的簇后,向该簇的簇头节点发送加入该簇的消息,然后簇头节点需要根据簇内节点的数目建立TDMA调度,并将该调度发送给各个簇内节点,当簇内节点向簇头节点发送数据时,就必须要按照该时间调度进行数据发送,以避免数据发送时产生冲突; 步骤4)组建簇头多跳路径,使簇头融合数据之后将数据以多跳方式发送给BS,减少了数据...

【专利技术属性】
技术研发人员:肖甫蔡俊钰王汝传黄海平沙超蒋凌云黄俊杰
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1