基于非均匀分簇的无线传感器网络能耗均衡路由方法\n技术领域\n[0001] 本发明涉及一种无线传感器网络路由协议,尤其涉及一种基于非均匀分簇的无线传感器网络能耗均衡路由方法,属于无线传感器网络技术领域。\n背景技术\n[0002] 随着微机电系统(MEMS)技术、无线通信技术和数字电子技术的高速发展,无线传感器网络在世界范围内引起了广泛关注。无线传感器网络是由一组传感器以自组织方式构成的无线网络,其目的是协作地感知、采集和处理网络覆盖的地理区域中感知对象的信息,并发布给观察者。无线传感器网络可广泛应用于军事、环境监测和预报、健康护理、智能家居、城市交通等领域。随着无线传感器网络的深入研究和广泛应用,无线传感器网络将逐步深入到人类生活的各个领域。\n[0003] 无线传感器网络通常是一种无基础设施的自组织网络,传感器节点使用电池供电,而且部署区域往往无人值守,容易因能量耗尽而失效,最终导致整个网络瘫痪。同时,区别于其他无线网络,如移动ad hoc网络和蜂窝网,它们没有能量方面约束,只专注于QoS(服务质量)研究,而无线传感器网络的特点决定了整个网络被能量所限制。因此,一种适用于无线传感器网络的路由方法可以很大程度上改善无线传感器网络的性能和寿命。\n[0004] 基于分簇的路由协议是目前研究人员比较关注的一类无线传感器网络路由协议。\n典型的分簇路由协议有LEACH、HEED、EEUC等。其中HEED协议是在LEACH协议的簇头分布不均这一问题基础上而作出的改进。它以最小平均可达功率AMRP作为衡量簇内通信成本的标准。节点以不同的成为簇头的概率发送竞争消息。簇头竞选成功后,其他节点根据在竞争阶段收集到的信息选择加入的簇。HEED协议能产生分布均匀的簇头,全网能耗更加均衡。\n[0005] 申请号为CN 201110131502.4的中国专利文献公开了一种高能效的无线传感器网络非均匀分簇路由方法,其特点是通过将模糊逻辑系统用于最优簇首的选择及簇大小的估计,最终组建大小不一的簇,但是该方法处理复杂,且输入模糊变量对簇大小影响程度未体现,不能选择最佳簇半径。申请号为CN 200810070376.4的中国专利文献公开了一种基于能量均衡的集群无线传感器网络非均匀分簇方法,其特点是将无线传感器网络划分为非均匀的环带,建立簇头能耗求解方程,优化环半径向量,从而确定簇的大小,但是该方法仅适用于汇聚节点处于无线传感器网络中心区域的情况,并且该方法计算复杂。申请号为CN \n201210166856.7的中国专利文献公开了一种WSN分布式非均匀分簇方法,其特点是在平衡全网能量的基础上选择出候选簇首,并通过自适应校正竞争半径进行非均匀分簇,最后节点根据基于能量和距离的能耗函数选择最佳簇加入,但是该方法通过选择一随机数选择候选簇头,容易造成候选簇头过多或过少,最后导致簇头节点选择过多或过少,影响整个网络能耗。申请号为CN 200810035214.7的中国专利文献公开了一种基于不均匀分簇无线传感器网络拓扑控制方法,在拓扑生成阶段中,成簇过程中引入了一种非均匀最小均方减法聚类分簇机制来降低簇内节点的能耗,其簇半径的选择仅考虑距离,没有考虑簇头节点的能量,易导致能耗不均衡。\n发明内容\n[0006] 本发明的目的在于提供一种基于非均匀分簇的无线传感器网络能耗均衡路由方法,克服现有技术的不足,能有效平衡整个系统的能耗,延长网络存活时间,以使无线传感器网络得到广泛有效应用。\n[0007] 本发明的目的通过以下技术方案予以实现:\n[0008] 一种基于非均匀分簇的无线传感器网络能耗均衡路由方法,无线传感器网络包括若干各自独立的簇和汇聚节点;所述簇包括一个簇头节点和若干个普通节点,其特征在于,该方法包含下列步骤:\n[0009] 1)初始化阶段\n[0010] 步骤S101:设置网络场景,在网络环境内,随机部署N个具有相同初始能量、ID编号从0~N-1的普通节点;汇聚节点部署在网络四周的某一处,各普通节点可直接和汇聚节点通信,汇聚节点能量无限大且可以处理数据;\n[0011] 步骤S102:网络初始化,汇聚节点广播一个hello消息给网络中的所有普通节点,每个普通节点在接收到hello消息后根据接收信号强度指示估算出其与汇聚节点的距离d(i,BS);同时每个普通节点广播消息一次,某个普通节点广播范围内的其他普通节点为其邻节点,计算各普通节点到其邻节点的最小平均可达功率AMRP;最小平均可达功率AMRP用该普通节点收到的邻节点的平均信号强度来表示:\n[0012] \n[0013] 其中n是该普通节点的邻节点个数,Radioj是该普通节点收到邻节点j的信号强度;\n[0014] 2)成簇阶段\n[0015] 步骤S201:成簇准备,首先设置网络中所有普通节点成为簇头节点的初始比例Cprob,然后每个普通节点根据公式(1)计算其成为簇头节点的概率CHprob,并初始化所有普通节点的备选簇头节点集合为空,且所有普通节点均不是候选簇头节点,其节点状态为普通节点;\n[0016] CHprob=max(Cprob×Eresidual/Emax,Pmin) (1)\n[0017] 其中Eresidual为该普通节点当前剩余能量,Emax为该普通节点的初始能量,规定CHprob最小值为Pmin,防止簇头节点选举迭代收敛速度太慢;\n[0018] 步骤S202:每个普通节点判定自己的备选簇头节点集合是否为空,即该节点是否加入簇内,如果是,则进入步骤S203,否则转步骤S204;\n[0019] 步骤S203:每个普通节点判定其成为簇头节点的概率CHprob是否大于等于1,如果是,则该普通节点成为最终簇头节点,并进入步骤S205,否则转步骤S206;\n[0020] 步骤S204:备选簇头节点集合不为空的普通节点判定自己是否是候选簇头节点,如果是,则进入步骤S207,否则转步骤S208;\n[0021] 步骤S205:该普通节点成为最终簇头节点,更新节点状态为最终簇头节点,将自己加入其备选簇头节点集合,然后根据公式(2)计算其簇半径Ri,并以簇半径Ri向其簇内普通节点广播自己当选为最终簇头节点的消息,此消息包括该最终簇头节点的ID号、节点状态、最小平均可达功率AMRP和簇半径;消息广播完后,其簇半径内所有普通节点更新其备选簇头节点集合,将该最终簇头节点加入备选簇头节点集合中,并转入步骤S212;\n[0022] \n[0023] 其中dmax和dmin分别为普通节点到汇聚节点的距离的最大值和最小值,d(i,BS)为普通节点i到汇聚节点的距离,CHprobmax和CHprobmin分别为普通节点成为簇头节点的最大概率和最小概率,CHprob(i)为普通节点i成为簇头节点的概率,R0为普通节点最大辐射半径,ω和c是用于控制取值范围的参数;\n[0024] 步骤S206:每个普通节点判定其成为簇头节点的概率CHprob是否大于等于0~1之间随机生成的数,如果是,则进入步骤S209,否则转步骤S210;\n[0025] 步骤S207:成为候选簇头节点的普通节点判定其成为簇头节点的概率CHprob是否大于等于1,如果是,则进入步骤S205,否则转步骤S209;\n[0026] 步骤S208:对于备选簇头节点集合不为空且其自己不是候选簇头节点的普通节点,该普通节点加入其备选簇头节点集合中最小平均可达功率AMRP最小的候选簇头节点或者最终簇头节点所属的簇内,并进入步骤S211;\n[0027] 步骤S209:该普通节点成为候选簇头节点,更新该普通节点状态为候选簇头节点,将自己加入其备选簇头节点集合,并根据公式(2)计算其簇半径Ri,同时向其簇内普通节点广播自己当选为候选簇头节点的消息,该消息包括该候选簇头节点自身的ID号、节点状态、最小平均可达功率AMRP和簇半径;当候选簇头节点广播完消息后,其簇半径内所有普通节点更新其备选簇头节点集合,将该候选簇头节点加入备选簇头节点集合中,并执行步骤S210;\n[0028] 步骤S210:普通节点或候选簇头节点将自身的CHprob乘以2并进入步骤S211;\n[0029] 步骤S211:判定迭代次数是否大于N次,N为最大迭代次数且\n如果是,则中止迭代进入步骤S212,否则迭代次数加1,并转步骤S202;\n[0030] 步骤S212:成簇终止,每个节点决定其最终状态;若普通节点在迭代过程时已成为最终簇头节点,则其当选为簇头节点;若普通节点的备选簇头节点集合中存在最终簇头节点,则其加入备选簇头节点集合中最小平均可达功率AMRP最小的最终簇头节点所属簇内;若某普通节点为孤立节点,即备选簇头节点集合中不存在最终簇头节点,则加入其通信半径内距离最近的成簇节点所属簇内;若该孤立节点通信半径内无其他节点,则孤立节点单独成簇;\n[0031] 3)簇间通信阶段\n[0032] 采用簇内单跳和簇间多跳数据传输方式,每个簇头节点需要从相邻簇的簇头节点中选择一个簇头节点作为其中继节点,转发数据到汇聚节点;对于簇头距离汇聚节点的距离小于T的簇头均直接单跳传输到汇聚节点,其中T是一个预先设定的值,其值总是小于普通节点最大辐射半径R0,对于簇头距离汇聚节点的距离大于T的簇头,从相邻簇头节点集合中选择一个代价最小的簇头作为其中继节点,经过多跳,完成数据传输到汇聚节点处;具体过程如下:\n[0033] 步骤S301:簇头节点计算其距汇聚节点的距离,并判定距离是否小于T,如果是,则进入步骤S302,否则转步骤S303;\n[0034] 步骤S302:簇头节点直接将数据单跳传输至汇聚节点;\n[0035] 步骤S303:簇头节点ci以其β倍簇半径广播消息,其中β一般取值1~1.5之间且其广播半径小于普通节点最大辐射半径R0;簇头节点广播的消息包括簇头节点ID、剩余能量、簇头节点自身的节点代价和到汇聚节点的距离,节点代价根据公式(3)计算;接收到消息的其他簇头节点也发送一个返回消息给发送消息的簇头节点ci,返回消息包括其节点代价和到汇聚节点的距离;簇头节点ci根据发来返回消息的簇头数来计算相邻簇头节点集合ci.RCH,簇头ci的相邻簇头节点集合定义为:ci.RCH={cj|d(ci,cj)≤βRi,d(cj,BS)<d(ci,BS)};\n[0036] 节点代价计算公式为:\n[0037] 其中 为该簇头节点和其相邻簇头节点集合内的簇头节点到汇聚节点距离的平均值,dci-BS为簇头节点ci到汇聚节点的距离, 为簇头节点和其相邻簇头节点集合内的簇头节点剩余能量的平均值,Eci为簇头节点ci的剩余能量,μ是用于控制取值范围的参数;\n[0038] 步骤S304:簇头节点ci从其相邻簇头节点集合中选择代价最小的簇头节点作为其下一跳节点。\n[0039] 与现有技术相比,本发明的有益效果是:通过对无线传感器网络中的节点进行非均匀分簇,使簇半径与簇头到汇聚节点的距离和节点成为簇头的概率呈递增关系,对于多个簇叠加部分的节点根据其最小平均可达功率AMRP加入簇内,使得簇内能耗均衡,最后根据距离汇聚节点的距离来选择采用单跳或者多跳进行传输,使得簇间能耗均衡,最终能够达到有效平衡整个系统的能耗。本发明实现了簇间和簇内能耗的均衡,使得网络的生命周期延长。\n附图说明\n[0040] 图1是本发明的无线传感器网络结构图;\n[0041] 图2是本发明的簇头产生流程图;\n[0042] 图3是本发明的簇间通信流程图;\n[0043] 图4是网络每轮存活节点个数的仿真图。\n具体实施方式\n[0044] 下面结合附图和具体实施例对本发明作进一步说明。\n[0045] 本发明提出一种新型的基于非均匀分簇的无线传感器网络能耗均衡路由方法,对无线传感器网络非均匀分簇,所述簇的半径Ri随着簇头距离汇聚节点的距离d和节点成为簇头的概率CHprob呈递增关系。通信阶段单跳和多跳方式可以通过节点间的信息交互动态产生能耗小的簇头节点进行数据传输,从而使整个网络能耗更为均衡,且避免了某一节点的快速死亡。本发明可以有效提高网络的生存时间,其具体实施方式如下:\n[0046] 如图1所示,在监测区域1内无线传感器网络包括若干各自独立的簇2和一个汇聚节点3;所述簇2包括一个簇头节点4和若干个普通节点5,该方法包含下列步骤:\n[0047] 1)初始化阶段:\n[0048] 步骤S101:设置网络场景,在网络环境内,随机部署N个具有相同初始能量、ID编号从0~N-1的普通节点;汇聚节点部署在网络四周的某一处,各普通节点可直接和汇聚节点通信,汇聚节点能量无限大且可以处理数据;\n[0049] 步骤S102:网络初始化,汇聚节点广播一个hello消息给网络中的所有普通节点,每个普通节点在接收到hello消息后根据接收信号强度指示(RSSI)估算出其与汇聚节点的距离d(i,BS);同时每个普通节点广播消息一次,某个普通节点广播范围内的其他普通节点为其邻节点,计算各普通节点到其邻节点的最小平均可达功率AMRP;最小平均可达功率AMRP用该普通节点收到的邻节点的平均信号强度来表示:\n[0050] \n[0051] 其中n是该普通节点的邻节点个数,Radioj是该普通节点收到邻节点j的信号强度;\n[0052] 3)成簇阶段\n[0053] 步骤S201:成簇准备,首先设置网络中所有普通节点成为簇头节点的初始比例Cprob,然后每个普通节点根据公式(1)计算其成为簇头节点的概率CHprob,并初始化所有普通节点的备选簇头节点集合为空,且所有普通节点均不是候选簇头节点,其节点状态为普通节点;\n[0054] CHprob=max(Cprob×Eresidual/Emax,Pmin) (1)\n[0055] 其中Eresidual为该普通节点当前剩余能量,Emax为该普通节点的初始能量,规定CHprob最小值为Pmin,防止簇头节点选举迭代收敛速度太慢,Pmin取10-4;\n[0056] 步骤S202:如图2所示,每个普通节点判定自己的备选簇头节点集合是否为空,即该节点是否加入簇内,如果是,则进入步骤S203,否则转步骤S204;\n[0057] 步骤S203:每个普通节点判定其成为簇头节点的概率CHprob是否大于等于1,如果是,则该普通节点成为最终簇头节点,并进入步骤S205,否则转步骤S206;\n[0058] 步骤S204:备选簇头节点集合不为空的普通节点判定自己是否是候选簇头节点,如果是,则进入步骤S207,否则转步骤S208;\n[0059] 步骤S205:该普通节点成为最终簇头节点,更新节点状态为最终簇头节点,将自己加入其备选簇头节点集合,然后根据公式(2)计算其簇半径Ri,并以簇半径Ri向其簇内普通节点广播自己当选为最终簇头节点的消息,此消息包括该最终簇头节点的ID号、节点状态、最小平均可达功率AMRP和簇半径;消息广播完后,其簇半径内所有普通节点更新其备选簇头节点集合,将该最终簇头节点加入备选簇头节点集合中,并转入步骤S212;\n[0060] \n[0061] 其中dmax和dmin分别为普通节点到汇聚节点的距离的最大值和最小值,d(i,BS)为普通节点i到汇聚节点的距离,CHprobmax和CHprobmin分别为普通节点成为簇头节点的最大概率和最小概率,CHprob(i)为普通节点i成为簇头节点的概率,R0为普通节点最大辐射半径,ω和c是用于控制取值范围的参数,在0~1之间取值;\n[0062] 步骤S206:每个普通节点判定其成为簇头节点的概率CHprob是否大于等于0~1之间随机生成的数,如果是,则进入步骤S209,否则转步骤S210;\n[0063] 步骤S207:成为候选簇头节点的普通节点判定其成为簇头节点的概率CHprob是否大于等于1,如果是,则进入步骤S205,否则转步骤S209;\n[0064] 步骤S208:对于备选簇头节点集合不为空且其自己不是候选簇头节点的普通节点,该普通节点加入其备选簇头节点集合中最小平均可达功率AMRP最小的候选簇头节点或者最终簇头节点所属的簇内,并进入步骤S211;\n[0065] 步骤S209:该普通节点成为候选簇头节点,更新该普通节点状态为候选簇头节点,将自己加入其备选簇头节点集合,并根据公式(2)计算其簇半径Ri,同时向其簇内普通节点广播自己当选为候选簇头节点的消息,该消息包括该候选簇头节点自身的ID号、节点状态、最小平均可达功率AMRP和簇半径;当候选簇头节点广播完消息后,其簇半径内所有普通节点更新其备选簇头节点集合,将该候选簇头节点加入备选簇头节点集合中,并执行步骤S210;\n[0066] 步骤S210:普通节点或候选簇头节点将自身的CHprob乘以2并进入步骤S211;\n[0067] 步骤S211:判定迭代次数是否大于N次,N为最大迭代次数且\n如果是,则中止迭代进入步骤S212,否则迭代次数加1,并转步骤S202;\n[0068] 步骤S212:成簇终止,每个节点决定其最终状态;若普通节点在迭代过程时已成为最终簇头节点,则其当选为簇头节点;若普通节点的备选簇头节点集合中存在最终簇头节点,则其加入备选簇头节点集合中最小平均可达功率AMRP最小的最终簇头节点所属簇内;若某普通节点为孤立节点,即备选簇头节点集合中不存在最终簇头节点,则加入其通信半径内距离最近的成簇节点所属簇内;若该孤立节点通信半径内无其他节点,则孤立节点单独成簇。\n[0069] 4)簇间通信阶段\n[0070] 采用簇内单跳和簇间多跳数据传输方式,每个簇头节点需要从相邻簇的簇头节点中选择一个簇头节点作为其中继节点,转发数据到汇聚节点;对于簇头距离汇聚节点的距离小于T的簇头均直接单跳传输到汇聚节点,其中T是一个预先设定的值,其值总是小于普通节点最大辐射半径R0,T的取值可以根据多次取值试验获取适合的最佳参数。对于簇头距离汇聚节点的距离大于T的簇头,从相邻簇头节点集合中选择一个代价最小的簇头作为其中继节点,经过多跳,完成数据传输到汇聚节点处。具体过程如下:\n[0071] 步骤S301:如图3所示,簇头节点计算其距汇聚节点的距离,并判定距离是否小于T,如果是,则进入步骤S302,否则转步骤S303;\n[0072] 步骤S302:簇头节点直接将数据单跳传输至汇聚节点;\n[0073] 步骤S303:簇头节点ci以其β倍簇半径广播消息,其中β一般取值1~1.5之间且其广播半径小于普通节点最大辐射半径R0;簇头节点广播的消息包括簇头节点ID、剩余能量、簇头节点自身的节点代价和到汇聚节点的距离,节点代价根据公式(3)计算;接收到消息的其他簇头节点也发送一个返回消息给发送消息的簇头节点ci,返回消息包括其节点代价和到汇聚节点的距离;簇头节点ci根据发来返回消息的簇头数来计算相邻簇头节点集合ci.RCH,簇头ci的相邻簇头节点集合定义为:ci.RCH={cj|d(ci,cj)≤βRi,d(cj,BS)<d(ci,BS)};\n[0074] 节点代价计算公式为:\n[0075] 其中 为该簇头节点和其相邻簇头节点集合内的簇头节点到汇聚节点距离的平均值,dci-BS为簇头节点ci到汇聚节点的距离, 为簇头节点和其相邻簇头节点集合内的簇头节点剩余能量的平均值,Eci为簇头节点ci的剩余能量,μ是用于控制取值范围的参数,在0~1之间取值;\n[0076] 步骤S304:簇头节点ci从其相邻簇头节点集合中选择代价最小的簇头节点作为其下一跳节点。\n[0077] 为了验证该路由方法有效性,现采用网络每轮存活节点个数对该路由方法进行仿真。使用的仿真工具为被业界公认的仿真工具matlab。将本方法和LEACH、HEED算法进行\n2\n对比,选择200个节点随机分布在100×100m的区域内,所有节点初始能量为2J。仿真中网络每轮存活节点个数如图4所示。\n[0078] 除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围内。
法律信息
- 2020-04-03
未缴年费专利权终止
IPC(主分类): H04W 40/10
专利号: ZL 201310139653.3
申请日: 2013.04.19
授权公告日: 2015.11.25
- 2015-11-25
- 2013-09-11
实质审查的生效
IPC(主分类): H04W 40/10
专利申请号: 201310139653.3
申请日: 2013.04.19
- 2013-08-14
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-05-28
|
2007-05-25
| | |
2
| |
2009-03-25
|
2008-09-25
| | |
3
| |
2008-09-17
|
2008-03-27
| | |
4
| |
2012-09-12
|
2012-05-25
| | |
5
| |
2013-03-13
|
2012-10-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |