失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 基于最佳簇半径的无线传感器网络分簇路由算法

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

时间:2024-02-25 20:50:42

相关推荐

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

文章目录

一、理论基础1、能耗模型2、基于最佳簇半径的分簇路由算法(1)分簇优化(2)簇间通信二、仿真实验三、参考文献

一、理论基础

1、能耗模型

本文采用一阶无线电模型作为能量消耗模型。节点在发送数据时,采用发送电路发送数据,并且使用放大电路对信号进行放大;接收端接收数据时,采用接收电路解析数据。节点与节点间产生数据通信时,节点的能量消耗与发送端和接收端的距离大小有关。当发送端节点向间距为ddd的接收端节点传送数据时,发送端消耗的能量大小为Etx(k,d)={kEelec+kεfsd2,d<d0kEelec+kεmpd4,d≥d0(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εfs​d2,d<d0​kEelec​+kεmp​d4,d≥d0​​(1)其中:kkk为数据量的大小,单位为bit;EtxE_{tx}Etx​为传输数据能耗;EelecE_{elec}Eelec​为传输1bit数据所需的能量;εfs\varepsilon_{fs}εfs​和εmp\varepsilon_{mp}εmp​为不同信道传播模型下的功率放大电路能量损耗系数,其中,信道方式的选择受传输距离大小的影响;d0=εfs/εmpd_0=\sqrt{\varepsilon_{fs}/\varepsilon_{mp}}d0​=εfs​/εmp​​是传输距离阈值。当发送的间距小于或等于该值时,使用自由空间信道模型,放大电路能量消耗系数为εfs\varepsilon_{fs}εfs​;若发送的间距大于该值,使用多路径衰减信道模型,放大电路能耗系数为εmp\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)={p1−p⋅(rmod1p)⋅Q,n∈G0,otherwise(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)=⎩⎪⎨⎪⎧​1−p⋅(rmodp1​)p​⋅Q,n∈G0,otherwise​(2)其中:ppp为簇头占网络总节点数的比值;rrr为当前轮次;GGG为在最近的1/p1/p1/p轮次内未被选中簇头的集合。为减小能量低的节点和位置较远的节点被选择为簇头的概率,设置一个控制参数QQQ,目的是使当前轮次能量更多,位置距离更近的节点更容易被选择为簇头。其中,QQQ的计算公式为:Q=α⋅Ei(r)Eavg(r)+β⋅Davg(r)Di(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,可通过改变两个因子的值来控制节点能量和节点位置的比重;Ei(r)E_i(r)Ei​(r)为第rrr轮该节点的自身能量;Eavg(r)E_{avg}(r)Eavg​(r)为第rrr轮当前网络的平均能量,计算公式为:Eavg(r)=∑i∈GEi(r)n(r)(4)E_{avg}(r)=\frac{\displaystyle\sum_{i∈G}E_i(r)}{n(r)}\tag{4}Eavg​(r)=n(r)i∈G∑​Ei​(r)​(4)第rrr轮节点的当前自身能量越大,阈值T(n)T(n)T(n)也会越大,节点变成簇头的可能性也会变大,如此加大了能量高的这一类节点被选作簇头的概率。Davg(r)D_{avg}(r)Davg​(r)为第rrr轮整个网络中剩余节点与基站间的平均距离:Davg(r)=∑i∈GDi(r)n(r)(5)D_{avg}(r)=\frac{\displaystyle\sum_{i∈G}D_i(r)}{n(r)}\tag{5}Davg​(r)=n(r)i∈G∑​Di​(r)​(5)Di(r)D_i(r)Di​(r)为当前节点到基站的距离:Di(r)=(xi−x0)2+(yi−y0)2(6)D_i(r)=\sqrt{(x_i-x_0)^2+(y_i-y_0)^2}\tag{6}Di​(r)=(xi​−x0​)2+(yi​−y0​)2​(6)相同条件下,Di(r)D_i(r)Di​(r)越大,该节点至基站位置的间距也更大,则该节点对应的阈值就会相应的变小,当选簇头的概率也会减小。减小位置远的节点被选作簇头的概率,增加位置近的节点被选作簇头的概率,从而达到减小因距离过大产生的能耗。

(2)簇间通信

若簇头与基站间距较近,则簇头把数据单跳发送至基站,而间距基站远的簇头则通过多跳的方法进行数据传送,选择路径上其他簇头当作中继节点。先将数据发送至该中继节点,再通过中继节点发送至基站。若有A,BA,BA,B两个簇头节点,基站为BS,距离之间关系如下:d2(A,BS)>d2(A,B)+d2(B,BS)(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,BS)>E(A,B)+E(B,BS)(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]. 现代电子技术, , 44(4): 23-26.

[2] 韩广辉, 张丽翠. 基于LEACH协议的无线传感网能效分簇算法[J]. 吉林大学学报(信息科学版), , 35(1): 26-31.

[3] 黄利晓, 王晖, 袁利永, 等. 基于能量均衡高效WSN的LEACH协议改进算法[J]. 通信学报, , 38(Z2): 164-169.

如果觉得《基于最佳簇半径的无线传感器网络分簇路由算法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。