基于不均匀分簇的无线传感器网络拓扑控制方法

文档序号:7685389阅读:237来源:国知局
专利名称:基于不均匀分簇的无线传感器网络拓扑控制方法
技术领域
本发明涉及一种传感器技术领域的控制方法,具体是一种基于不均匀分簇的无线传感器网络拓扑控制方法。

背景技术
随着传感器技术、嵌入式系统技术、微机电系统技术、分布式信息处理技术以及无线通信技术的进步,具有感知、计算和通信能力的新式微型传感器出现在世界舞台上。由这些微型传感器构成的传感器网络引起了人们极大的关注,它将会对人类未来的生活方式产生深远影响。
拓扑控制是无线传感器网络研究的热点技术之一。良好的网络拓扑控制技术,有利于节省网络中节点的能量消耗,提高网络的吞吐量。拓扑控制通常可分为节点功率控制和层次型拓扑控制两类。其中,层次型拓扑控制方法由簇头节点组成一个处理和转发数据的骨干网,其他节点大部分时间可以关闭通信模块以节省能量。
经对现有技术的文献检索发现,Wendi B.Heinzelman等人发表了文章“AnApplication-Specific Protocol Architecture for Wireless MicrosensorNetworks”(IEEE Tran.on Wireless Communications Vol.1,No.4,pp.660-670,Oct.2002),该文章中提出的LEACH(Low Energy Adaptive Clustering Hierarchy)是目前无线传感器网络层次型拓扑控制方法中最具有代表性的。该方法通过等概率地周期性随机选择簇头,将整个网络的能量消耗平均分配到每个传感器节点,从而达到均衡网络能量消耗,延长网络寿命的目的。然而,LEACH中簇头随机选择导致簇头分布不均匀,同时簇头选择未考虑能量因素导致部分节点较早死亡,簇头直接与基站通信导致远离基站的簇头能量消耗很快。
有很多科研人员在LEACH的基础上提出了改进。Piyakul Tillapart等人提出了一种基于减法聚类的层次型拓扑控制方法(“An Approach to HybridClustering and Routing in Wireless Sensor Networks”,P.Tillapart等Aerospace Conference IEEE,pp.1-8,Mar.2005)也很具有代表性(下简称HCR)。该方法主要改进在于采用静态分簇机制,基站借助网络节点的地理位置信息安排合理的网络拓扑,可以节省大量拓扑控制开销;选择簇头时考虑了簇内节点的剩余能量及节点位置,可以优化簇头选择机制,节省簇内能量开销;并建立了簇头-簇头的路由,避免长距离无线传输带来的大量能耗。尽管该方法弥补了LEACH的某些不足,但还是有可以进一步改进的地方。该方法采用均匀分簇,且簇间采用多跳路由,这样会导致距离基站较近的簇消耗较大;另外该方法在簇头濒临死亡时才启动更换簇头机制,会导致簇头节点过早地死亡,减少了节点协同工作的时间。


发明内容
本发明的目的是针对现有技术的不足,提出一种基于不均匀分簇的无线传感器网络拓扑控制方法,使其综合考虑了节点密度、能量和与基站距离等因素,能有效地延长节点协同工作的时间,提高网络传输的数据量。
本发明是通过如下技术方案实现的,本发明包括以下步骤 ①首先在拓扑生成阶段中,在成簇上引入了非均匀最小均方减法聚类分簇机制来降低簇内节点的能量消耗; ②然后在簇头更换策略上通过估计簇头节点的能耗,制定下次更换簇头的能量域值; ③再建立簇头-簇头的能量感知路由,避免了过远距离的无线传输,上述步拓扑生成阶段结束后,网络开始工作,进入拓扑维护阶段; ④在拓扑维护阶段中,采用节点剩余能量信息及簇内节点分布信息的簇头选择策略来均衡网络中各簇头节点的能量消耗。
所述步骤①中,网络由孤立散落的节点到划分成簇,其中所述非均匀最小均方减法聚类分簇机制,具体为若某节点的成簇范围内其他节点到该节点的均方距离最小,则这个节点成簇范围内的所有节点形成一个簇,该节点成为初始簇头节点。然后在所有节点的集合中去掉这些已经成簇的节点后,继续重复该工作直至所有节点成簇。
所述成簇范围,其由下面公式获得 其中,cluster_range为成簇范围,CR为簇头在簇内的通信半径,dto-sink为节点到基站的距离,dto-sink为网络所有节点到基站的平均距离,簇的范围随着距离基站由近至远而从小到大,而变化的幅度由调节因子n来控制。
所述步骤②,具体实现如下 首先,计算本簇头节点在担任簇头节点时与担任普通节点时的能量消耗,在一帧内,簇头节点能量消耗为 Ehead=Erev+Eda+Exmt+Erel 其中Erev为一帧内簇头接收机能量消耗,Eda为一帧内簇头数据融合能量消耗,Exmt为一帧内簇头发送融合后数据分组的能量消耗,Erel为一帧内簇头转发融合后数据的能量消耗; 簇内节点一帧内能量消耗,具体为Ecommon=ETX(ldata,dhead),其中dhead为到簇头节点的距离。
然后,计算本簇头节点担任簇头期间能量消耗的比例。考虑簇内所有节点当选簇头的时间相同,即每个节点当选一个时间单位簇头节点,当选child_num个时间单位普通节点,则该比例为 最后,确定下次更换簇头的能量阈值Ethr=Epre-Eorg×P,其中Epre为新簇头的当前能量值,Eorg为节点的初始能量值。簇头节点在工作一段时间后,达到此能量值即开始启动更换簇头机制。
所述步骤③中,建立簇头-簇头的能量感知路由,具体实现如下 首先,网络各节点本地路由消耗记录设定为无穷大。
然后,由基站发起,向整个网络广播初始路由消耗,簇头节点收到基站的初始路由消耗后,将下一跳路由节点设定为基站,并更新本地路由消耗记录。
接下来,各簇头节点对外广播当前本地的最优路由消耗记录,其他簇头节点收到该路由消耗信息后,与本节点路由消耗信息比较,若该路由消耗信息更优,则更新本地路由信息,记录该信息源节点为下一跳节点,并继续对外广播新的路由消耗信息,重复上述流程直至所有簇头都不再对外广播更优的路由消耗信息,此时已建立起一条通向基站的最小能量消耗路径。
所述步骤④,是根据节点剩余能量信息及簇内节点分布信息,选择一个度量值最大的节点作为新簇头,网络为进行拓扑维护,要按照步骤②方法设定的更换簇头时机来更换簇头。具体为各节点计算自身成为新簇头的度量值W并发送给旧簇头节点,旧簇头节点选择一个度量值最大的节点作为新簇头。
所述节点i的簇头选择度量值W(i),如下式所示 其中Ei为节点当前剩余能量,dj表示节点i与簇内其它节点j之间的距离,dnexthop表示节点i与下一跳簇头节点之间的距离,child_num表示簇内节点的个数。
在更换新簇头后,使用步骤②中的方法,为下一次更换簇头设定能量阈值。
与上述现有技术相比,本发明具有如下有益效果本发明有效地优化了拓扑结构,均衡了网络的能量消耗。仿真结果显示,本发明可以有效地延长节点协同工作的时间,提高了能量利用率,提高了网络数据传输量。



图1是系统死亡节点数目与发送数据分组的关系示意图; 图2是系统工作时间与发送数据分组的关系示意图; 图3是系统能量消耗与发送数据分组的关系示意图。

具体实施例方式 下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例中,应用网络模型具体如下 传感器节点随机均匀分布在n×n的区域中,该网络有如下性质 传感器网络节点为静态;基站位于网络外固定位置处;节点的发射功率可控;基站可以获得网络节点地理位置信息。
当传感器节点发送比特数为l的数据分组时,能量消耗为 其中发射机和接收机的电路单位能量消耗为Eelec=50nj/bit;d为发送节点到接收节点的距离;εfs和εmp为发射机功率放大器的系数,当d<do时,εfs=10pj/bit/m2;当d≥do时,εmp=0.0013pj/bit/m4。
当传感器节点接收比特数为l的数据分组时,能量消耗为ERX(l)=l×Eelec。
当传感器节点将采集的数据融合成比特数为l的数据分组时,能量消耗为EDA(l)=l×Eda。其中数据融合单位能耗为Eda=5nj/bit/signal。
本实施例网络工作流程可以划分为拓扑生成阶段和拓扑维护阶段。在拓扑生成阶段,使用非均匀最小均方减法聚类分簇机制成簇;根据簇的能量消耗情况确定更换簇头的能量阈值;根据簇和簇头信息建立基于能量消耗权值的最短路径。在拓扑维护阶段,定义簇头持续时间为轮,每一轮中又分为很多帧,在每一帧中簇内各节点按照簇头节点安排的时隙以时分多址接入(TDMA)的方式向簇头发送采集到的数据,簇头节点接收一帧数据后进行数据融合,然后通过已建立好的簇头-簇头路由将其发往下一跳簇头节点。如果当前簇头节点能量低于阈值,利用节点剩余能量信息及簇内节点分布信息选择新簇头,设定下次更换簇头的能量阈值,并进入下一轮。
下面详细介绍本实施例,其中步骤①到步骤③为拓扑生成阶段关键技术,步骤四为拓扑维护阶段关键技术。
步骤①,簇的生成。
令Γ为网络所有节点的集合。基站根据掌握到的网络节点地理位置信息,计算出Γ中各节点到基站的距离。根据公式确定各节点成簇范围。
其中,CR为簇头在簇内的平均通信半径;dto-sink为节点到基站的距离;dto-sink为网络所有节点到基站的平均距离,簇的范围随着距离基站由近至远而从小到大,而变化的幅度由调节因子n来控制。根据计算出的各节点成簇范围,寻找成簇范围内其他节点到该节点的均方距离和最小的节点,则这个节点成簇范围内的所有节点形成第一个簇,该节点成为该簇初始簇头;设该簇所有节点的集合为Γ1,令Γ=Γ-Γ1,然后在Γ中继续寻找成簇范围内其他节点到该节点的均方距离和最小的节点,将这个节点成簇范围内所有节点形成第二个簇,该节点成为该簇初始簇头;设该簇所有节点的集合为Γ2,令Γ=Γ-Γ2然后在Γ中继续寻找成簇范围内其他节点到该节点的均方距离和最小的节点,依此类推,重复该工作直至所有节点成簇。在基站簇划分完毕后,向簇头节点发送确认信息,各簇头节点收到确认信息后,向本簇的节点发送成簇信息。
步骤②,设定簇头更换时机。
更换簇头的策略,是通过估算簇头节点的能量消耗,来选择更换簇头的能量阈值。
首先,需要计算该节点担任簇头节点与担任普通节点的能量消耗。在一帧内,簇头节点能量消耗为 Ehead=Erev+Eda+Exmt+Erel Erev为一帧内簇头接收机能量消耗,其值为Erev=ERX(ldata)×child_num,其中child_num为簇内节点个数,ldata为发送数据分组长度;Eda为一帧内簇头数据融合能量消耗,其值为Eda=EDA(ldata);Exmt为一帧内簇头发送融合后数据分组的能量消耗,其值为Exmt=ETX(ldata,dnexthop),其中dnexthop为本簇头节点到下一跳簇头节点的距离;Erel为一帧内簇头转发融合后数据的能量消耗,其值为Erel=[ERX(ldata)+ETX(ldata,dnexthop)]×relay_num,其中relay_num为一帧内需要转发的数据分组个数。相应的,簇内节点一帧内能量消耗为Ecommon=ETX(ldata,dhead),其中dhead为到簇头节点的距离。
然后,考虑簇内所有节点当选簇头的时间相同,即每个节点当选一个时间单位簇头节点,当选child_num个时间单位普通节点,则该节点担任簇头期间能量消耗的比例为 其中,Ecommon[i]为该节点在簇内的节点i作为簇头时的能量消耗。本次更换簇头后,计算该能量比例P,从而确定下次更换簇头的能量阈值Ethr=Epre-Eorg×P,其中Epre为新簇头的当前能量值,Eorg为节点的初始能量值。新簇头节点在工作一段时间后,达到此能量值即开始启动更换簇头机制。
步骤③,路由选择。
所有节点成簇完毕后,在簇头所形成的骨干网中,建立基于能量消耗的最短路径路由。首先给出节点间链路的能量消耗模型 其中C(i,j)为节点i到节点j链路的能量消耗,l为传输数据分组的长度,dij为节点i到节点j的距离。
初始化时,各节点将本地存储的路由消耗信息Clocal设定为无穷大。由基站首先广播路由消耗信息Csink-broadcast=0。在建立路由过程中,当节点j接收到节点i发送的路由消耗信息Ci-broadcast时,采用如下策略 1.receive Ci-broadcast from node i; 2.if(Ci-broadcast+C(j,i)<Cj-local) 3.begin 4.Cj-local<=Ci-bro+C(j,i); 5.Cj-broadcast<=Cj-local; 6.broadcast Cj-broadcast; 7.jnexthop<=i 8.end 所有节点重复这个过程,直至所有簇头都不再对外广播Cbroadcast信息,此时所有簇头的Clocal值均为最优,并依次建立起一条通向基站的最小能量消耗路径。
步骤④,选择新簇头。
当旧簇头节点达到能量阈值后,开始选择新簇头时,簇内各节点计算自身成为新簇头的度量值W并发送给旧簇头节点,旧簇头节点选择一个度量值最大的节点作为新簇头。考虑节点i的簇头选择度量,如下式所示 其中Ei为节点当前剩余能量;dj表示节点i与簇内其它节点j之间的距离,dnexthop表示节点i与下一跳簇头节点之间的距离;child_num表示簇内节点的个数。
在更换新簇头后,使用步骤②中的方法,为下一次更换簇头设定能量阈值。
下面通过仿真实验来比较本实施例与在背景技术中提及的LEACH及HCR的性能。考虑200个节点随机分布在140*140的区域内,每个节点的初始能量为2J,基站位于(71,246)的位置。数据分组长度为4000bit,控制分组长度为200bit。
图1给出了死亡节点数目与发送数据分组数量的关系。可以看出在死亡节点数目相同的时间点,本实施例可以发送更多的数据分组,如在死亡一半节点时,本实施例发送的数据分组比LEACH多55.7%,比HCR多30.7%。LEACH中簇的分布情况有较高的随机性,可能造成各簇的负载不均衡,导致部分节点较早死亡,这限制了它的发送有效的数据分组;而HCR则因为在簇头节点濒临死亡时才启动更换簇头机制,其簇头节点会较早地死亡,同样不利于增加其传输有效的数据分组。
图2给出了系统工作时间与发送数据分组数量的关系,可以看出,与图1所阐述的问题类似,在相同的系统工作时间情况下,本实施例会发送更多的数据分组。例如,当网络工作至800时间单位时,本实施例相对LEACH发送数据分组增加40.3%,相对HCR增加了19.6%。
图3给出了系统能量消耗与发送数据分组数量的关系。在系统能量消耗相同的情况下,本实施例会发送更多的数据分组,例如在能量消耗均为2×1011能量单位时,本实施例相比LEACH发送数据分组增加了65.7%。由于LEACH在更换簇头时,既没有考虑节点剩余能量,也没有估计节点在当选簇头之后的能量消耗情况,因此不能保证选择较为优化的簇头,有时甚至性能会很差,例如选择了一个能量很低的节点作为簇头,在下一个周期里该簇头将很快死亡,会导致该簇无法采集数据,甚至中断通往基站的路由。而本实施例略优于HCR,例如在能量消耗均为2×1011能量单位时,本实施例相比HCR发送数据分组仅增加了0.4%。其原因是虽然两者都可以选择最优节点作为簇头,但本实施例其更换簇头机制目标是网络各节点能量的均衡,因此会较早地启动更换簇头机制,导致最优能量簇头节点担任簇头的时间稍少,绝对能量消耗稍多,尽管在这个环节上减少了在能量效率上的提高,但从总体来讲还是保持了较高的能量效率。
权利要求
1、一种基于不均匀分簇的无线传感器网络拓扑控制方法,其特征在于包括以下步骤
①首先在拓扑生成阶段中,在成簇上引入了非均匀最小均方减法聚类分簇机制来降低簇内节点的能量消耗;
②然后在簇头更换策略上通过估计簇头节点的能耗,制定下次更换簇头的能量域值;
③再建立簇头-簇头的能量感知路由,避免了过远距离的无线传输,上述步拓扑生成阶段结束后,网络开始工作,进入拓扑维护阶段;
④在拓扑维护阶段中,采用基于能耗估计和簇内节点分布情况的簇头选择策略来均衡网络中各簇头节点的能量消耗。
2、根据权利要求1所述的基于不均匀分簇的无线传感器网络拓扑控制方法,其特征是,步骤①中,所述非均匀最小均方减法聚类分簇机制,具体为若某节点的成簇范围内其他节点到该节点的均方距离最小,则这个节点成簇范围内的所有节点形成一个簇,该节点成为初始簇头节点,然后在所有节点的集合中去掉这些已经成簇的节点后,继续重复该工作直至所有节点成簇。
3、根据权利要求1或2所述的基于不均匀分簇的无线传感器网络拓扑控制方法,其特征是,步骤①中,成簇范围由下面公式获得
其中,cluster_range为成簇范围,CR为簇头在簇内的通信半径,dto-sink为节点到基站的距离,dto-sink为网络所有节点到基站的平均距离,簇的范围随着距离基站由近至远而从小到大,而变化的幅度由调节因子n来控制。
4、根据权利要求1所述的基于不均匀分簇的无线传感器网络拓扑控制方法,其特征是,所述步骤②,具体实现如下
首先,计算本簇头节点在担任簇头节点时与担任普通节点时的能量消耗,在一帧内,簇头节点能量消耗为
Ehead=Erev+Eda+Exmt+Erel
其中Erev为一帧内簇头接收机能量消耗,Eda为一帧内簇头数据融合能量消耗,Exmt为一帧内簇头发送融合后数据分组的能量消耗,Erel为一帧内簇头转发融合后数据的能量消耗;
簇内节点一帧内能量消耗,具体为Ecommon=ETX(ldata,dhead),其中dhead为到簇头节点的距离。
然后,计算本簇头节点担任簇头期间能量消耗的比例考虑簇内所有节点当选簇头的时间相同,即每个节点当选一个时间单位簇头节点,当选child_num个时间单位普通节点,则该比例为
最后,确定下次更换簇头的能量阈值Ethr=Epre-Eorg×P,其中Epre为新簇头的当前能量值,Eorg为节点的初始能量值,簇头节点在工作一段时间后,达到此能量值即开始启动更换簇头机制。
5、根据权利要求1所述的基于不均匀分簇的无线传感器网络拓扑控制方法,其特征是,步骤③中所述建立簇头-簇头的能量感知路由,具体实现如下
首先,网络各节点本地路由消耗记录设定为无穷大;
然后,由基站发起,向整个网络广播初始路由消耗,簇头节点收到基站的初始路由消耗后,将下一跳路由节点设定为基站,并更新本地路由消耗记录;
接下来,各簇头节点对外广播当前本地的最优路由消耗记录,其他簇头节点收到该路由消耗信息后,与本节点路由消耗信息比较,若该路由消耗信息更优,则更新本地路由信息,记录该信息源节点为下一跳节点,并继续对外广播新的路由消耗信息,重复上述流程直至所有簇头都不再对外广播更优的路由消耗信息,此时已建立起一条通向基站的最小能量消耗路径。
6、根据权利要求1所述的基于不均匀分簇的无线传感器网络拓扑控制方法,其特征是,所述步骤④,具体为各节点计算自身成为新簇头的度量值W并发送给旧簇头节点,旧簇头节点选择一个度量值最大的节点作为新簇头;
所述节点i的簇头选择度量值W(i),如下式所示
其中Ei为节点当前剩余能量,dj表示节点i与簇内其它节点j之间的距离,dnexthop表示节点i与下一跳簇头节点之间的距离,child_num表示簇内节点的个数;在更换新簇头后,使用步骤②中的方法,为下一次更换簇头设定能量阈值。
全文摘要
本发明涉及一种传感器技术领域的基于不均匀分簇的无线传感器网络拓扑控制方法,在拓扑生成阶段中,于成簇上引入了一种非均匀最小均方减法聚类分簇机制来降低簇内节点的能量消耗;在设定簇头更换时机上采用了一种基于簇头能耗估计的策略以均衡网络中各簇头节点的能量消耗;建立簇头—簇头的能量感知路由,避免了过远距离的无线传输;在拓扑维护阶段中,采用了基于节点剩余能量和簇内节点分布的簇头选择方案,并用相同的策略设定簇头更换时机。该方法在降低总体网络能量消耗的同时,可以较好地均衡各个节点的能量消耗,延长了网络中大部分节点协同工作的时间。
文档编号H04L12/56GK101267391SQ20081003521
公开日2008年9月17日 申请日期2008年3月27日 优先权日2008年3月27日
发明者静 刘, 巍 曲, 刘艳丽, 易里安, 李大鹏 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1