基于最佳簇半径的无线传感器网络分簇路由算法

一、理论基础

1、能耗模型

本文采用一阶无线电模型作为能量消耗模型。节点在发送数据时,采用发送电路发送数据,并且使用放大电路对信号进行放大;接收端接收数据时,采用接收电路解析数据。节点与节点间产生数据通信时,节点的能量消耗与发送端和接收端的距离大小有关。当发送端节点向间距为 d d d的接收端节点传送数据时,发送端消耗的能量大小为 E t x ( k , d ) = { k E e l e c + k ε f s d 2 ,   d < d 0 k E e l e c + k ε m p d 4 , d ≥ d 0 (1) E_{tx}(k,d)=\begin{dcases}kE_{elec}+k\varepsilon_{fs}d^2,\quad\, d<d_0\\kE_{elec}+k\varepsilon_{mp}d^4,\quad d≥d_0\end{dcases}\tag{1} Etx(k,d)={kEelec+kεfsd2,d<d0kEelec+kεmpd4,dd0(1)其中: k k k为数据量的大小,单位为bit; E t x E_{tx} Etx为传输数据能耗; E e l e c E_{elec} Eelec为传输1bit数据所需的能量; ε f s \varepsilon_{fs} εfs ε m p \varepsilon_{mp} εmp为不同信道传播模型下的功率放大电路能量损耗系数,其中,信道方式的选择受传输距离大小的影响; d 0 = ε f s / ε m p d_0=\sqrt{\varepsilon_{fs}/\varepsilon_{mp}} d0=εfs/εmp 是传输距离阈值。当发送的间距小于或等于该值时,使用自由空间信道模型,放大电路能量消耗系数为 ε f s \varepsilon_{fs} εfs;若发送的间距大于该值,使用多路径衰减信道模型,放大电路能耗系数为 ε m p \varepsilon_{mp} εmp

2、基于最佳簇半径的分簇路由算法

(1)分簇优化

每一轮次中,每个节点首先生成一个0~1之间的未知数 μ \mu μ,然后与阈值 T ( n ) T(n) T(n)比较,若小于阈值 T ( n ) T(n) T(n),则该节点被选作簇头。其中,阈值 T ( n ) T(n) T(n)的计算公式为: T ( n ) = { p 1 − p ⋅ ( r m o d 1 p ) ⋅ Q , n ∈ G 0 ,     o t h e r w i s e (2) T(n)=\begin{dcases}\frac{p}{1-p\cdot\left(rmod\frac1p\right)}\cdot Q,\quad n∈G\\0,\quad\quad\quad\quad\quad\quad\quad\quad\quad\,\,\, otherwise\end{dcases}\tag{2} T(n)=1p(rmodp1)pQ,nG0,otherwise(2)其中: p p p为簇头占网络总节点数的比值; r r r为当前轮次; G G G为在最近的 1 / p 1/p 1/p轮次内未被选中簇头的集合。为减小能量低的节点和位置较远的节点被选择为簇头的概率,设置一个控制参数 Q Q Q,目的是使当前轮次能量更多,位置距离更近的节点更容易被选择为簇头。其中, Q Q Q的计算公式为: Q = α ⋅ E i ( r ) E a v g ( r ) + β ⋅ D a v g ( r ) D i ( r ) (3) Q=\alpha\cdot\frac{E_i(r)}{E_{avg}(r)}+\beta\cdot\frac{D_{avg}(r)}{D_i(r)}\tag{3} Q=αEavg(r)Ei(r)+βDi(r)Davg(r)(3)其中: α , β \alpha,\beta α,β为权重因子,它们之间的关系为 α + β = 1 \alpha+\beta=1 α+β=1,可通过改变两个因子的值来控制节点能量和节点位置的比重; E i ( r ) E_i(r) Ei(r)为第 r r r轮该节点的自身能量; E a v g ( r ) E_{avg}(r) Eavg(r)为第 r r r轮当前网络的平均能量,计算公式为: E a v g ( r ) = ∑ i ∈ G E i ( r ) n ( r ) (4) E_{avg}(r)=\frac{\displaystyle\sum_{i∈G}E_i(r)}{n(r)}\tag{4} Eavg(r)=n(r)iGEi(r)(4) r r r轮节点的当前自身能量越大,阈值 T ( n ) T(n) T(n)也会越大,节点变成簇头的可能性也会变大,如此加大了能量高的这一类节点被选作簇头的概率。 D a v g ( r ) D_{avg}(r) Davg(r)为第 r r r轮整个网络中剩余节点与基站间的平均距离: D a v g ( r ) = ∑ i ∈ G D i ( r ) n ( r ) (5) D_{avg}(r)=\frac{\displaystyle\sum_{i∈G}D_i(r)}{n(r)}\tag{5} Davg(r)=n(r)iGDi(r)(5) D i ( r ) D_i(r) Di(r)为当前节点到基站的距离: D i ( r ) = ( x i − x 0 ) 2 + ( y i − y 0 ) 2 (6) D_i(r)=\sqrt{(x_i-x_0)^2+(y_i-y_0)^2}\tag{6} Di(r)=(xix0)2+(yiy0)2 (6)相同条件下, D i ( r ) D_i(r) Di(r)越大,该节点至基站位置的间距也更大,则该节点对应的阈值就会相应的变小,当选簇头的概率也会减小。减小位置远的节点被选作簇头的概率,增加位置近的节点被选作簇头的概率,从而达到减小因距离过大产生的能耗。

(2)簇间通信

若簇头与基站间距较近,则簇头把数据单跳发送至基站,而间距基站远的簇头则通过多跳的方法进行数据传送,选择路径上其他簇头当作中继节点。先将数据发送至该中继节点,再通过中继节点发送至基站。若有 A , B A,B A,B两个簇头节点,基站为BS,距离之间关系如下: d 2 ( A , B S ) > d 2 ( A , B ) + d 2 ( B , B S ) (7) d^2(A,BS)>d^2(A,B)+d^2(B,BS)\tag{7} d2(A,BS)>d2(A,B)+d2(B,BS)(7)则由距离计算其能耗,能耗之间的关系为: E ( A , B S ) > E ( A , B ) + E ( B , B S ) (8) E(A,BS)>E(A,B)+E(B,BS)\tag{8} E(A,BS)>E(A,B)+E(B,BS)(8)由式(8)可以看出,多跳传送的能耗方式要小于单跳。因此在数据传输时,若簇头节点间满足式(7),则簇头通过满足条件的另一簇头作为中继节点传输数据至基站。

二、仿真实验

实验采用 Matlab 仿真软件做对比仿真,主要观察各种算法的网络生命周期,网络能量消耗对比。
实验仿真设置200个节点分布在200×200m大小监测范围内的分布图。基站坐标设置在图中原点(0,0)位置。该对比仿真实验一共为2000轮次。图1显示了网络有效工作时间内各算法每一轮存活节点的曲线。具体仿真参数设置如表1所示:
在这里插入图片描述

表1 仿真参数设置

在这里插入图片描述

图1 网络生命周期曲线

图2呈现了网络工作过程中每一轮次各个算法的网络总剩余能量,展示了LEACH-OR算法及其他三种算法的能量消耗速度对比。由图2可以看出,LEACH算法的能量损耗最快,LEACH-OR算法相对于其他两种算法的能耗速度都要缓慢,能量损耗更加平均;且在相同工作时间内,LEACH-OR算法的节点剩余存活数量要高于其他算法,能有效地加长网络的工作时间。
在这里插入图片描述

图2 网络能耗曲线

三、参考文献

[1] 武一, 李家兴, 范书瑞, 等. 基于最佳簇半径的无线传感器网络分簇路由算法[J]. 现代电子技术, 2021, 44(4): 23-26.
[2] 韩广辉, 张丽翠. 基于LEACH协议的无线传感网能效分簇算法[J]. 吉林大学学报(信息科学版), 2017, 35(1): 26-31.
[3] 黄利晓, 王晖, 袁利永, 等. 基于能量均衡高效WSN的LEACH协议改进算法[J]. 通信学报, 2017, 38(Z2): 164-169.

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值