基于泊松分布的WSN 最优簇首数的研究*
2020-07-19李晓慧赵建平
李晓慧,赵建平
(曲阜师范大学 物理工程学院,山东 曲阜 273165)
0 引言
无线传感器网络经常部署在山区、森林、战场等恶劣环境中[1],人工部署困难,多采用飞机空中抛洒节点进行部署。传感器节点多为微电子设备,其寿命很大程度依赖电池电量,能量有限[2],抛洒后人工补充更换困难。因此,尽可能降低能量消耗是路由协议研究的首要内容。
文献[3]中LEACH 协议是由Heinzelman 等提出的第一个分簇路由协议,协议中并没有明确给出簇首数的取值,需根据实际需要进行设置。文献[4-7]仅考虑传感器节点服从均匀分布条件下的簇首数求解,不适用于空中随机抛洒节点部署的传感器网络,且只推导了稳定数据传输阶段的能耗,忽略了簇建立阶段的能量损耗。文献[8]中节点间的通信方式仅采取自由空间传播模型,虽在一定程度上简化了计算,但忽略了大规模远距离节点通信时多径衰减模型产生更多的能量消耗。文献[9]仅考虑sink 节点位于传感器网络外部的情况,对于sink 节点位于传感器网络内部的场景并不适用。
为更好地反映出空中随机抛洒节点的分布情况,本文将传感器节点服从齐次二维泊松点过程。sink 节点位于网络内部,为尽可能降低网络能耗,延长网络寿命,推导出针对不同应用场景的最优簇首数公式。仿真表明,当簇首数为最优簇首数时,全网络能量消耗最低,大大提高了网络寿命。
1 相关研究工作
1.1 路由协议
路由协议规定了数据从源节点到目的节点的正确传输方法,按照网络拓扑方式可以分为平面路由协议和分簇路由协议,区别如表1 所示。
表1 平面路由协议与分簇路由协议对比
1.2 LEACH 协议
LEACH 协议是第一个典型的自适应分簇路由协议。该协议将网络分为若干簇,以“轮”为工作周期,每一轮包括簇建立阶段和稳定数据传输阶段。簇建立阶段全网每个节点均产生一个[0,1]的随机数,并与阈值T(n)进行比较。随机数小于阈值的节点选为簇首并广播全网,其他节点接收广播就近选择簇首发送入簇申请。成簇完成后,簇首创建TDMA 调度表在簇内进行广播。稳定数据传输阶段时,簇成员根据TDMA 调度表时隙进行采集发送数据,簇首接收、融合并发送给目的节点。
其中,p的值为网络中簇首数与总节点的比值,需提前设置,一般情况下p=0.1;r为当前轮数;G为最近的轮中未当选过簇首的节点数。
2 网络模型假设
对无线传感器网络模型做以下假设:
网络边长为M,面积为S=M2=πd2,半径为;
(2)sink 节点和传感器节点位置一旦确定,则保持不变;
(3)sink 节点位于网络内部,有无限的能量供应,可与任何节点进行直接通信;
(4)传感器节点总数为N,初始能量相同,性能相同,且功率足够大,可以根据发送距离动态调整发射功率;
(5)传感器节点服从密度为λ的泊松分布,其中簇成员的密度为λ0,簇首的密度为λ1,λ=λ0+λ1;
(6)网络一旦分簇完成,簇成员与簇首、簇首与基站之间单跳通信。簇成员与sink 节点之间无法直接通信。
该网络的仿真模型建立在文献[3]的无线通信能耗模型基础上。
节点发送kbit 数据能耗为:
节点接收kbit 数据能耗为:
节点融合kbit 数据的能耗为:
式中Eda为融合能耗系数。
3 泊松分布最优簇首数计算
当sink 节点位于传感器网络内部时,对于不同的网络半径d会选择不同的能耗模型。由于εfs、εamp带来的影响,本文将分为d≤d0和d>d0两种情况进行最优簇首数的推导。
3.1 网络能耗分析
假设网络工作一轮产生簇首数为n,则。若广播控制信息大小为CM,则簇建立阶段能耗如下。
簇首产生的能耗包括广播信息能耗和接收簇成员加入信息能耗:
节点产生的能耗包括接收广播信息能耗和簇成员发送入簇申请能耗:
其中:
因此,簇建立阶段的总能耗为:
若数据信息大小为k,则稳定数据传输阶段能耗如下。
簇成员发送数据能耗为:
簇首能耗包括接收、融合和转发数据能耗:
因此,稳定数传输阶段网络总能耗为:
一轮工作周期网络总能耗为:
其中ε1、w1、ε2、w2、ε3、w3如式(6)、式(8)和式(12)所示。
由式(14)可以看出,在其他参数信息确定的情况下,网络总能耗只与簇首个数n、簇成员到簇首的距离dtoCH、簇首到基站的距离dtoBS有关。可通过以下步骤求得。
簇首的个数在监测区域S内服从λ1的泊松分布:
在监测区域内每个簇只有一个簇首节点的概率密度为:
每个簇面积为Si,大小不同且不相交,簇半径为ri,则有=M2。单位面积内簇成员服从密度为λ0的泊松分布,。
于是,有:
在M×M的二维空间内,任意簇首到达sink节点距离的平方为:
3.2 节点的两种分布情况分析
3.2.1 d ≤d0 的情况
当网络覆盖范围的半径不超过d0时,有R=M,且M、dtoCH、dtoBS均不大于d0,则ε1=ε2=ε3=εfs,w1=w2=w3=2。
式(14)可转化为:
对式(20)置零求导,可得最优簇首数:
3.2.2 d>d0 的情况
宏观网络分布,如图1 所示。
图1 宏观网络分布
此情况下,R=M>d0。为使广播范围更广,将采取多径衰减模型,ε1=εamp,w1=4。由于传感器节点通信范围在d0附近时值近似,且在远距离通信时能耗占主要作用。因此,综合考虑ε3=εamp,w3=4。
对于ε2、w2需要讨论两种情况:(1)E(dtoCH)≤d0,即大范围内传感器数目较多,此时ε2=εfs,w=2;(2)E(dtoCH)>d0,即大范围内传感器数目较少,此时ε2=εamp,w=4。
E(dtoCH)≤d0时,式(14)转化为:
对式(22)置零求导,可得最优簇首数:
E(dtoCH)>d0时,式(14)转化为:
对式(24)置零求导,可得最优簇首数:
4 仿真结果分析
本文采用MATLAB 平台进行仿真分析,仿真参数如表2 所示。
表2 仿真参数设置
d0=,求得d0=87.71 m,分别对d≤d0和d>d0两种场景进行仿真。
4.1 应用场景1
此场景仅考虑d≤d0的情况。仿真设置M=100,N=100,经式(21)得n=21.94。但是,随着N的减少,最优簇首数n的值逐渐增加,并超过了存活节点总数,即直接通信能耗最少。
对LEACH协议建模进行不同簇首数仿真发现,当簇首数取N(节点总数)时,平均能耗最小,仿真结果如图2 所示。
图2 LEACH 协议簇首数与能耗关系
将式(21)的最优簇首数公式应用于LEACH协议,并与文献[8]、传统LEACH 协议、直接通信(无簇首)进行比较,仿真结果如图3 和图4 所示。可以看出,在小规模网络中,相比于LEACH 协议等改进协议,节点进行直接通信时能量消耗最少。
图3 网络存活节点对比
图4 网络能量消耗对比
4.2 应用场景2
此场景仅考虑d>d0的情况,仿真参数设置如表3 所示。
表3 仿真参数设置
分别对LEACH 协议进行不同簇首数仿真,结果如图5 所示。
图5 LEACH 协议簇首数与能耗关系
E(dtoCH)≤d0时,式(23)求得n=16.57;E(dtoCH)>d0时,式(25)求得n=17.83;分别于图5 中的最低点相一致。
将式(23)、式(25)的最优簇首数公式分别应用于LEACH 协议,仿真结果如图6、图7 所示。可以看出,针对节点数不同的应用场景,簇首数为最优簇首数时,与传统LEACH 协议相比,不仅延长了第一个节点的死亡时间,也延长了所有节点的存活时间,减小了能量消耗,提高了网络生存周期。特别对于大范围内节点数较少的情况效果尤为明显,传统LEACH 协议节点全部死亡时,优化后的协议还有20%的存活节点,极大地延长了网络寿命。
图6 LEACH 协议优化前后对比(E(dtoCH)≤d0 时)
图7 LEACH 协议优化前后对比(E(dtoCH)>d0 时)
5 结语
针对传统LEACH 协议中簇首数设置不明确的问题,本文在传感器节点服从泊松分布的基础上,为尽可能降低网络能耗,分别讨论了不同应用场景下簇首数与能量消耗的关系,并推导出最优簇首数公式。理论推导与软件仿真表明,网络根据实际需要进行合理分簇时,平均能量消耗最小,提高了节点的存活时间,极大地延长了网络寿命。