«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (7): 165-172  DOI: 10.19678/j.issn.1000-3428.0054771
0

引用本文  

郝占军, 侯姣姣, 党小超, 等. 一种适用于带状区域的WSN节点覆盖优化方法[J]. 计算机工程, 2020, 46(7), 165-172. DOI: 10.19678/j.issn.1000-3428.0054771.
HAO Zhanjun, HOU Jiaojiao, DANG Xiaochao, et al. A Node Coverage Optimization Method for Strip Area in WSN[J]. Computer Engineering, 2020, 46(7), 165-172. DOI: 10.19678/j.issn.1000-3428.0054771.

基金项目

国家自然科学基金(61662070,61762079);甘肃省科技重点研发项目(17YF1GA015)

作者简介

郝占军(1979-), 男, 副教授、硕士, 主研方向为位置服务、无线传感器网络;
侯姣姣, 硕士研究生;
党小超, 教授;
曲南江, 硕士研究生

文章历史

收稿日期:2019-04-29
修回日期:2019-06-16
一种适用于带状区域的WSN节点覆盖优化方法
郝占军1,2 , 侯姣姣1 , 党小超1,2 , 曲南江1     
1. 西北师范大学 计算机科学与工程学院, 兰州 730070;
2. 甘肃省物联网工程研究中心, 兰州 730070
摘要:无线传感器网络(WSN)在带状区域的部署过程中,簇头节点所转发的数据量与其离基站的距离成反比,容易导致网络负载不均衡。为解决该问题,提出一种优化的WSN节点覆盖方法。建立传感器节点与簇头节点能量模型,以菱形分区的方式对带状区域进行等距分簇并部署传感器节点,实现带状区域中无线网络的有效覆盖。在此基础上,根据簇头节点与基站的距离优化各簇头节点数目,并采用簇头节点非均匀部署方式均衡带状区域网络能耗。实验结果表明,与EECS和EDNU方法相比,该优化方法可以提高网络利用率,延长网络生命周期。
关键词带状区域    无线传感器网络    菱形分区    等距分簇    生命周期    
A Node Coverage Optimization Method for Strip Area in WSN
HAO Zhanjun1,2 , HOU Jiaojiao1 , DANG Xiaochao1,2 , QU Nanjiang1     
1. College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China;
2. Gansu Province Internet of Things Engineering Research Center, Lanzhou 730070, China
Abstract: In the process of deploying a strip area in a Wireless Sensor Network(WSN), the amount of data forwarded by the cluster head nodes is inversely proportional to its distance from the base station, which tends to cause uneven network load.Therefore, this paper proposes an optimized node coverage method in WSN.The method establishes an energy consumption model for cluster head and sensor nodes.Then the sensor nodes are deployed and the strip areas are equidistantly clustered in the shape of diamond to implement effective coverage of WSN in strip area.Then according to the distance from the cluster head nodes to the base station, the number of cluster head nodes in each cluster is optimized, and the non-uniform deployment of cluster head nodes is adopted to balance network energy consumption in the strip area.Experimental results show that the proposed optimization method can improve the network utilization and extend the life cycle of network compared with the EECS and EDNU method.
Key words: strip area    Wireless Sensor Network(WSN)    diamond partition    equidistant clustering    life cycle    
0 概述

在无线传感器网络(Wireless Sensor Network, WSN)中, 将多个传感器节点有组织地部署在待监测区域内, 这些节点协同有序进行信息监测并把收集到的信息周期性地发送至基站。然而传感器节点通常需要部署在野外环境中, 难以进行充电或替换, 当电池电量不足时节点会失效或者由于非人为因素[1-2]节点遭到破坏时会严重影响网络的运行。

在隧道、矿井、大型桥梁等带状区域中部署传感器网络时, 由于其形态特殊, 节点通常会被部署为狭长分布的状态且需要将收集的数据定期发送至一侧的基站, 而实际应用中传感器节点通信距离有限, 因此需采用多跳的方式进行数据传输。此时, 靠近基站区域的节点需要负责更多的转发任务, 因此靠近基站的网络所转发的数据量大幅增加, 消耗能量也增多。但节点自身能量有限, 容易过早耗尽能量从而导致节点死亡, 并且使得基站周围形成“网络能量空洞”[3-4]。这些失效节点所收集的数据不能转发至基站, 网络提前结束运行, 但此时网络中仍有大量能量未被使用, 严重降低了网络使用效率。传统部署方法和路由协议在带状区域结构下有较大的局限性, 因此需要考虑如何有效部署传感器节点来解决能量空洞问题, 在保证无线网络实现有效覆盖和连通的同时, 均衡网络能耗, 延长网络生命周期。

为均衡网络能耗, 研究人员提出了网络分簇层次模型并针对线型区域网络中的部署问题做了进一步的研究。文献[5]根据簇头节点的竞争范围构造规模不同的簇及簇头节点进行多跳通信来均衡簇头节点的能量消耗。文献[6]基于经典LEACH算法, 在监测区域中将簇内节点数控制在一定范围内, 并合并规模极小的簇来均衡各分簇能量。文献[7]提出簇头竞争算法将网络划分为几何尺寸不同的簇, 并结合簇间路由来节约网络能量。但上述方法的簇间路由均未考虑节点的部署情况, 因此不适用于带状区域的网络部署。文献[8]提出一种DEBUC协议来均衡簇内和簇间能耗, 采用簇头竞争算法控制不同距离簇的大小, 但不适用于距离较长的带状区域网络。文献[9]在线型无线传感器网络中采用等腰三角形划分的方式, 实现对区域的K重覆盖, 并对传感器节点分组以均衡网络整体能耗。文献[10]针对矿井巷道环境提出一种分层路由协议, 采用分簇的方式在数据转发量较大的区域进行较大规模的簇划分, 但由于簇头节点间距离的不同使得无线传感器网络能量的消耗速度达不到最优。本文提出一种以菱形分区方式划分带状区域的节点部署方法, 利用等距多跳传输降低网络能耗, 并在等距分簇后进一步计算得出各簇所需簇头节点的数量, 通过簇头节点非均匀部署均衡带状区域的网络能耗并延长网络生命周期。

1 能量模型 1.1 传感器节点能量模型

本文采用文献[11]中的传感器节点能量消耗模型, 设置阈值d0(d0为常数, 取值与节点应用环境有关), 根据发送节点和接收节点之间的距离与d0的关系计算能耗, 当两者之间距离小于d0时, 符合自由空间模型, 发送节点消耗的能量与两者之间距离的平方成正比; 否则使用多路衰减模型, 即与距离的4次方成正比。在数据传输过程中, 发送节点的能耗ETx(l, d)主要是发送无线电路和放大器的能耗[12-13]。在节点间距为d时, 传送l bit信息的能耗为:

$ {E_{{\rm{Tx}}}}(l,d) = \left\{ {\begin{array}{*{20}{l}} {l({E_{{\rm{ elec }}}} + {\varepsilon _{{\rm{fs}}}}{d^2}),d < {d_0}}\\ {l({E_{{\rm{ elec }}}} + {\varepsilon _{{\rm{ amp }}}}{d^4}),d \ge {d_0}} \end{array}} \right. $ (1)

接收节点的能耗ERx(l)主要是无线电路中用于数据传输的能耗Eelec。当接收l bit数据时, 传感器节点的能耗为:

$ {E_{{\rm{Rx}}}}(l) = l{E_{{\rm{ elec }}}} $ (2)

其中, εfsεamp分别表示接收节点和发送节点在不同距离区间范围内, 发送放大器传送每比特数据所需的能量。

1.2 簇头节点能量模型

本文中的数据通过簇头节点进行多跳传输, 其能耗包含接收簇内节点信息以及数据转发两部分。假设簇内m个节点中只有1个簇头节点和(m-1)个簇内节点, 在一次节点传输过程中的数据量簇头节点为l, 则簇头节点接收簇内数据的能耗为:

$ {E_{{\rm{CH}}}} = (m - 1)l{E_{{\rm{elec}}}} $ (3)

簇头节点在数据转发时消耗的能量ECHtoCH中包含接收上一级簇头节点数据的能耗ETx和转发数据至下一级簇头节点的能耗ERx两部分, 具体为:

$ \begin{array}{*{20}{l}} {{E_{{\rm{CHtoCH}}}} = {E_{{\rm{Rx}}}} + {E_{{\rm{Tx}}}} = }\\ {\left\{ {\begin{array}{*{20}{l}} {l{E_{{\rm{elec}}}} + l({E_{{\rm{elec}}}} + {\varepsilon _{{\rm{fs}}}}d_{{\rm{CHtoCH}}}^2),{d_{{\rm{CHtoCH}}}} < {d_0}}\\ {l{E_{{\rm{elec}}}} + l({E_{{\rm{elec}}}} + {\varepsilon _{{\rm{amp}}}}d_{{\rm{CHtoCH}}}^4),{d_{{\rm{CHtoCH}}}} \ge {d_0}} \end{array}} \right.} \end{array} $ (4)

其中, dCHtoCH表示两个簇头节点的间距。

所有的簇头节点分为两类:第1类簇头节点, 负责簇内数据传输; 第2类簇头节点, 充当中继节点转发其他簇数据[14]。第1类簇头节点的能耗由接收簇中节点数据的能耗ECH和发送簇中数据的能耗ECHto组成, 第2类簇头节点的能耗由接收和转发其他簇头节点的数据能耗ECHtoCH和第1类簇头节点的能耗组成, 具体为:

$ {E_{{\rm{ch}}}} = \left\{ {\begin{array}{*{20}{l}} {{E_{{\rm{CH}}}} + {E_{{\rm{CHto}}}},{\rm{第1类簇头节点}}}\\ {{E_{{\rm{CH}}}} + {E_{{\rm{CHto}}}} + {E_{{\rm{CHtoCH}}}},{\rm{第2类簇头节点}}} \end{array}} \right. $ (5)

其中, Ech代表簇头节点能耗, ECHto根据式(1)计算得到。

2 节点部署方法与量化分析

在无线传感器网络中, 通过节点部署对网络结构进行优化设计是延长网络实际应用寿命和扩大网络可延展性[15-16]的重要方法之一, 尤其在带状区域中, 通过设计传感器节点的部署结构能有效平衡网络能量消耗不均匀引起的能量空洞问题, 延长网络生命周期。本节主要介绍了等距网络分簇方法, 以菱形划分带状区域部署节点实现网络覆盖, 并通过进一步计算验证了簇头节点的非均匀部署在延长网络生命周期方面的有效性。

2.1 基于菱形划分的节点部署方法 2.1.1 节点部署方法原理

针对带状区域的特殊结构, 基于菱形划分区域并固定部署传感器节点, 以等距分簇的方式来降低网络在数据传输过程中的能量消耗。

定义1 (基本监测区域) 基本监测区域(Basic monitoring Area, BA)是以菱形为基本单元划分带状区域, 在边界菱形顶点处部署传感器节点得到的带状监测区域如图 1所示, 其中两个节点只负责感知所在区域内的数据。

Download:
图 1 菱形区域模型 Fig. 1 Diamond area model

定义2 (一般监测区域)  一般监测区域(General monitoring Area, GA)是指只考虑通过两侧传感器节点的联合感知能有效覆盖的带状区域(如图 2所示), 且由BA线性组合而成。

Download:
图 2 带状区域模型 Fig. 2 Strip area model

定义3 (簇) 簇可以划分为多个菱形, 包括簇头节点和簇内节点两部分。簇内节点负责感知数据, 簇头节点负责转发数据, 且簇头节点初始部署在簇的中心位置。

定理1 设两个簇头节点间的距离为di, 基站与最远簇头节点间的距离为D, 当d1=d2=…=dk=D/k时, 网络中传输l bit数据的能耗Ek取值最小。

证明 根据能量模型, 在网络中传输l bit数据的能耗Ek为:

$ {E_k} = \sum\limits_{i = 1}^k E (l,{d_i}) = (2k - 1)l{E_{{\rm{elec}}}} + l{\varepsilon _{{\rm{fs}}}}\sum\limits_{i = 1}^k {d_i^2} $ (6)

求解Ek最小值问题可转化为在$\sum\limits_{i=1}^{k}{{{x}_{i}}\ge D}, n\ge 2$条件下求解f(k)=x1n+x2n+…+xkn的极小值问题, 属于带约束条件的多元函数极小值问题, 使用拉格朗日乘数法即可证明当且仅当x1=x2=…=xk=D/k时, f(x)取最小值, 即可求得Ek的最小值。证毕。

本文提出将带状区域划分为多个菱形后根据定理1所证结果等距分簇并部署传感器节点。假设基站部署在带状区域的左侧, 将距离基站最远的簇定义为第一个簇, 其簇头节点为一级簇头节点, 根据与基站距离的变化依次为二级簇头节点、三级簇头节点、……、靠近基站最近的k级簇头节点, 令整个带状区域具有分簇层次结构, 且这k个簇头节点将距离D依次划分为d1, d2, …, dk。在这些簇头节点中, 一级簇头节点产生的数据需经过剩余簇头节点的多跳转发, 中间第i级簇头需要接收i-1级簇头节点所转发的数据, 同时需要向i+1级簇头节点转发数据。

2.1.2 节点部署方法描述

基于菱形划分的节点部署方法具体步骤如下:

步骤1 初始化长为a、宽为b的带状区域。

步骤2 确定划分带状区域的菱形大小, 假设传感器节点的感知半径为r, 当菱形对角线长度与感知半径满足$\text{GI}=2\sqrt{{{r}^{2}}-{{\left(1/2b \right)}^{2}}}$时, 可对带状区域实现无线网络全覆盖。

步骤3 网络等距分簇, 根据定理1可得, 当d1=d2=…=dk=D/k时, 网络中传输l bit数据的能耗Ek取值最小, 因此对带状区域进行等距分簇。计算最佳分簇间距dopt和分簇后簇的最佳数目n, 根据菱形大小得出簇内菱形个数。

步骤4 计算簇内的最优簇头节点数量Ni, 令各簇能量耗尽的时间相等, 即Ti=Ti-1, 从而最大化网络使用效率。根据式${{N}_{i}}=\frac{2\left(i-C \right)N}{\left(1+n \right)n-2nC}({{N}_{i}}\ge 1)$计算各簇内簇头节点数目, 得到靠近基站的簇i值较大, 簇头节点的数量较多。

步骤5 在带状区域边界菱形顶点处部署簇内节点, 在菱形对角线上线性部署簇头节点, 网络工作初期选择中心位置作为簇头节点的初始位置, 将其余簇头节点设为休眠状态。

步骤6 在网络运行过程中, 当簇头节点的能量低于可进行工作的最小值时, 选择簇内的休眠簇头节点作为新的簇头节点进行替换, 并广播新簇头节点的位置信息, 代替失效节点继续工作。

2.2 节点部署的量化分析

上文利用等距分簇降低网络能耗的节点部署方法, 本节主要通过计算并分析带状区域网络部署时的分簇个数和各簇内的最优簇头节点数量, 实现监测区域的有效覆盖。

2.2.1 最佳分簇间距分析

定理2  设传感器节点的感知半径为r, 以菱形对角线$\text{GI}=2\sqrt{{{r}^{2}}-{{\left(1/2b \right)}^{2}}}$进行划分时, 可以实现对带状区域的网络覆盖。

证明 如图 3所示长为a、宽为b的带状区域, 设节点感知半径为r, 由菱形对角线相互垂直平分的性质得到AH=1/2AC=1/2b, 由于AG=r, 根据直角三角形定理AH2+GH2=AG2, 即(1/2b)2+(GH)2=r2, 因此可得$\text{GH}=\sqrt{{{r}^{2}}-{{\left(1/2b \right)}^{2}}}$, 则:

$ {\rm{GI}} = 2\sqrt {{r^2} - {{(1/2b)}^2}} $ (7)
Download:
图 3 带状区域节点覆盖效果 Fig. 3 Effect of node coverage in the strip area

当簇内节点ABCD处部署的节点感知半径r=AG时, 感知区域正好可以相交于菱形位于带状区域内的顶点GIF处, 依此类推, 即可对带状区域实现网络覆盖。证毕。

根据定理2求出带状区域可划分的菱形个数为:

$ m = a/2\sqrt {{r^2} - {{(1/2b)}^2}} $ (8)

结合定理1, 簇头节点将菱形划分后的带状区域等距划分为相等的簇。对式(6)的能耗公式进行求导得到:

$ E_k^\prime = 2l{E_{{\rm{elec}}}} - \frac{{l{\varepsilon _{{\rm{fs}}}}{D^2}}}{{{k^2}}} $ (9)

E′k=0, 可得最佳分簇间距dopt为:

$ {d_{{\rm{opt}}}} = D/k = \sqrt {2{E_{{\rm{elec}}}}/{\varepsilon _{{\rm{fs}}}}} $ (10)

在得到分簇结果后, 网络中簇的最佳数目为:

$ n = \left\lceil {D/{d_{{\rm{opt}}}}} \right\rceil = \left\lfloor {D/\sqrt {2{E_{{\rm{elec}}}}/{\varepsilon _{{\rm{fs}}}}} } \right\rfloor $ (11)

在计算确定了网络监测区域的分簇个数和具体的菱形划分个数后部署传感器节点, 在带状区域边界交汇的菱形顶点处部署簇内节点, 在菱形对角线上部署簇头节点, 并将簇头节点有选择地放在每个等间隔簇区间的几何中心上。

2.2.2 簇头节点数量的优化分析

为进一步均衡网络能耗, 下文将分析并优化各簇内簇头节点的数量。在带状区域网络中簇头节点的数据转发量受到其与基站距离的影响, 如果一个簇中只有一个簇头节点, 各簇内簇头节点的能量消耗不均, 靠近基站的簇中簇头节点无法长时间转发大量数据。因此, 在靠近基站的簇内部署更多数量的簇头节点, 会延长网络工作时间。

依据式(4)的能量模型, 可计算簇i的能量消耗速度为:

$ {V_i} = l({E_{{\rm{ elec }}}} + {\xi _{{\rm{fs}}}}d_{{\rm{ opt }}}^2) \times i + l{E_{{\rm{ elec }}}} \times (i - 1) $ (12)

i中耗尽所有簇头节点能量所需的时间为:

$ {T_i} = \frac{{{N_i}({E_{{\rm{ init }}}} - {E_0})}}{{l({E_{{\rm{ elec }}}} + {\xi _{{\rm{fs}}}}d_{{\rm{ opt }}}^2) \times i + l{E_{{\rm{ elec }}}} \times (i - 1)}} $ (13)

其中, Ni为簇i中的簇头节点数目, Einit为簇头节点初始状态下所具有的能量, E0为可进行工作的能量最小值。

令各簇能量耗尽的时间相等, 即Ti=Ti-1, 则有:

$ \begin{array}{l} \frac{{{N_i}({E_{{\rm{ init }}}} - {E_0})}}{{l({E_{{\rm{ elec }}}} + {\xi _{{\rm{ fs }}}}d_{{\rm{ opt }}}^2) \times i + l{E_{{\rm{ elec }}}} \times (i - 1)}} = \\ \frac{{{N_{i - 1}}({E_{{\rm{ init }}}} - {E_0})}}{{l({E_{{\rm{ elec }}}} + {\xi _{{\rm{ fs }}}}d_{{\rm{ opt }}}^2) \times (i - 1) + l{E_{{\rm{ elec }}}} \times (i - 2)}} \end{array} $ (14)

化简式(14)得到:

$ \frac{{{N_i}}}{{{N_i} - {N_{i - 1}}}} = i - \frac{{{E_{{\rm{ elec }}}}}}{{2{E_{{\rm{ elec }}}} + {\xi _{{\rm{fs}}}}d_{{\rm{ opt }}}^2}} $ (15)

$\frac{{{E}_{\text{elec}}}}{2{{E}_{\text{elec}}}+{{\xi }_{\text{fs}}}{{d}_{\text{opt}}}^{2}}=C$, 由式(15)得到:

$ \frac{{{N_{i - 1}}}}{{{N_i}}} = 1 - \frac{1}{{i - c}} $ (16)

递推式(16)得到:

$ \begin{array}{*{20}{l}} {\frac{{{N_1}}}{{{N_2}}} \times \frac{{{N_2}}}{{{N_3}}} \times \cdots \times \frac{{{N_{i - 1}}}}{{{N_i}}} = }\\ {\left( {1 - \frac{1}{{2 - C}}} \right) \times \left( {1 - \frac{1}{{3 - C}}} \right) \times \cdots \times \left( {1 - \frac{1}{{i - C}}} \right)} \end{array} $ (17)

化简式(17)得到:

$ {N_i} = \frac{{i - C}}{{1 - C}} \times {N_1} $ (18)

又因为$\sum\limits_{i=1}^{n}{{{N}_{i}}}=N$, N为簇头节点的总数, n由式(11)求出, 所以由式(18)可推导并得出:

$ {{N_1} = \frac{{2(1 - C)N}}{{(1 + n)n - 2nC}}} $ (19)
$ {{N_i} = \frac{{2(i - C)N}}{{(1 + n)n - 2nC}},{N_i} \ge 1} $ (20)

由式(20)可得越靠近基站的簇, i值越大, 簇头节点的数量越多, 如图 4所示。在计算出不同簇内簇头节点的数目后, 将这些簇头节点线性部署在各自的簇内。

Download:
图 4 簇头节点非均匀部署效果 Fig. 4 Non-uniform deployment effect of cluster head nodes

因此, 在菱形划分的基础上对带状区域进行簇划分, 确定等距分簇的最佳间距, 计算得出每个簇内的最优簇头节点数量, 将簇头节点在菱形对角线上进行线性部署。网络工作初期选择中心位置作为簇头节点的初始位置并将其余簇头节点设为休眠状态, 当簇头节点的能量低于可供节点工作的最小值时更换簇头节点的位置。

2.3 网络能耗分析

在带状区域网络数据的发送和接收过程中, 能耗主要由簇头节点产生, 为有效降低和平衡网络能耗, 本文在等距分簇的基础上, 进一步在不同簇内部署非均匀数目的节点, 并与簇头节点均匀部署方法进行对比, 同时对分别采用两种方法的网络生命周期进行分析[17]

根据本文能量模型, 距离基站最远的簇头节点在接收和转发簇内节点数据的过程中会产生能耗, 其进行一次数据接收并转发的总能耗为:

$ {E_1} = l({E_{{\rm{elec}}}} + {\varepsilon _{{\rm{fs}}}}d_1^2) + (m - 1)l{E_{{\rm{elec}}}} $ (21)

由于第i个簇头节点为中继节点, 负责中继转发数据, 因此在簇i中进行一次数据传输的能耗为:

$ \begin{array}{*{20}{l}} {{E_i} = (m - 1)l{E_{{\rm{ elec }}}} + (i - 1)l{E_{{\rm{ elec }}}} + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} il({E_{{\rm{ elec }}}} + {\varepsilon _{{\rm{fs}}}}d_i^2)} \end{array} $ (22)

由式(22)可得在靠近基站的簇n中进行一次数据传输的能耗为:

$ \begin{array}{*{20}{l}} {{E_n} = (m - 1)l{E_{{\rm{ elec }}}} + (n - 1)l{E_{{\rm{ elec }}}} + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} nl({E_{{\rm{ elec }}}} + {\varepsilon _{{\rm{fs}}}}d_n^2)} \end{array} $ (23)

令各簇能量耗尽的时间相等, 计算各个簇内非均匀的节点数目可知, 整个带状区域网络的生命周期等同于第n个簇内簇头节点的生命周期, 即:

$ {T_{{\rm{non - uniform}}}} = \frac{{{N_n} \times {E_{{\rm{ init }}}}}}{{{E_{n1}}}} $ (24)

其中, ${{N}_{n}}=\frac{2\left(n-C \right)N}{\left(1+n \right)n-2nC}, {{E}_{n1}}$为非均匀部署簇头节点情况下簇n进行一次数据传输的能量消耗。

在采用各簇内均匀部署簇头节点的部署方法时, 每个簇内簇头节点的个数为N/n, 靠近基站的簇数据传输量会直接影响网络的生命周期。在该簇中簇头节点接收数据的能耗为:

$ {E_{{\rm{Tx}}}} = (m - 1)l{E_{{\rm{elec}}}} + (n - 1)l{E_{{\rm{elec}}}} $ (25)

簇头节点转发所有数据的能耗为:

$ {E_{{\rm{Rx}}}} = nl({E_{{\rm{elec}}}} + {\varepsilon _{{\rm{fs}}}}d_n^2) $ (26)

当均匀部署簇头节点时, 簇n的总能耗En2为:

$ {E_{n2}} = {E_{{\rm{Rx}}}} + {E_{{\rm{Tx}}}} $ (27)

由此可得网络生命周期为:

$ {T_{{\rm{uniform}}}} = \frac{N}{n} \times \frac{{{E_{{\rm{ init }}}}}}{{{E_{n2}}}} $ (28)

定理3 在带状区域无线传感器网络等间距分簇的情况下, 根据簇与基站的关系, 簇头节点非均匀部署时网络生命周期大于簇头节点均匀部署时的网络生命周期。

证明 根据式(23)和式(27)可得, 在等距部署时, 均匀和非均匀部署条件下靠近基站的簇内簇头节点进行数据传输的能量消耗相同, 即:

$ {E_{n1}} = {E_{n2}} $ (29)

另外, 由于传感器节点初始能量一致, 因此式(24)和式(28)中$\frac{{{E}_{\text{init}}}}{{{E}_{n1}}}=\frac{{{E}_{\text{init}}}}{{{E}_{n2}}}$。在下文计算中统一用$\frac{{{E}_{\text{init}}}}{{{E}_{n}}}$表示。式(28)中均匀部署簇头节点时的网络生命周期Tuniform为:

$ {T_{{\rm{uniform}}}} = \frac{N}{n} \times \frac{{{E_{{\rm{ init }}}}}}{{{E_n}}} $ (30)

由式(24)得到非均匀部署簇头节点时的网络生命周期Tnon-uniform为:

$ \begin{array}{*{20}{l}} {{T_{{\rm{ non - uniform }}}} = \frac{{{N_n} \times {E_{{\rm{ init }}}}}}{{{E_n}}} = \frac{{2(n - C)N}}{{(1 + n)n - 2nC}} \times \frac{{{E_{{\rm{ init }}}}}}{{{E_n}}} = }\\ \ \ \ \ \ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{2(n - C)N}}{{n(1 + n - 2C)}} \times \frac{{{E_{{\rm{ init }}}}}}{{{E_n}}} = }\\ \ \ \ \ \ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{2(n - C)}}{{(n - C) + (1 - C)}} \times \frac{N}{n} \times \frac{{{E_{{\rm{ init }}}}}}{{{E_n}}}} \end{array} $ (31)

Tnon-uniformTuniform进行比较, 由于1 < n, 因此1-C < nC, (nC)+(1-C) < 2(nC), 由此可以得出$\frac{2\left(n-C \right)}{\left(n-C \right)+\left(1-C \right)}>\frac{2\left(n-C \right)}{2\left(n-C \right)}=1$, 即$\frac{2\left(n-C \right)}{\left(n-C \right)+\left(1-C \right)}>1$, 则有:

$ \frac{{2(n - C)}}{{(n - C) + (1 - C)}} \times \frac{N}{n} > \frac{N}{n} $ (32)

由此得到Tnon-uniform>Tuniform, 证毕。

由定理3的证明得出本文提出的簇头节点非均匀部署方法相比簇头节点均匀部署方法更能延长网络生命周期, 提高网络利用率。

3 实验设置与结果分析 3.1 实验环境与参数设置

为验证本文方法的有效性, 在Matlab2016a中进行仿真实验, 在具有理想MAC协议的假设前提下, 忽略数据转发中的丢包问题[18]。仿真基本参数设置如表 1所示。

下载CSV 表 1 仿真参数设置 Table 1 Setting of simulation parameter
3.2 结果分析

本文主要是针对带状区域提出的节点部署方法, 将带状区域网络划分为规模相同的簇, 簇头节点分布在一条直线上, 根据簇与基站间的距离非均匀部署簇头节点。

3.2.1 等距分簇方法性能分析

为得到等距分簇规模与网络存活节点数目及网络剩余能量的关系, 在Matlab中仿真1 200 m×30 m的带状区域, 簇内节点的感知半径为20 m, 分别设置3种实验场景:场景1中簇间距d1为80 m, 分簇个数n1为15, 其小于最佳分簇个数; 场景2中簇间距d2为60 m, 分簇个数n2为20, 其接近最佳分簇个数; 场景3中簇间距d3为48 m, 分簇个数n3为25, 其大于最佳分簇个数。在仿真时, 由式(20)计算簇头节点个数。

分析网络运行时的能耗情况, 是评价节点部署方法的重要手段。图 5表示在以上3种不同分簇场景中, 带状区域内网络存活节点数目与网络工作时间的关系, 可以看出随着网络工作时间的延长, 存活节点数目不断减少。图 6表示网络剩余能量与网络工作时间的关系, 网络剩余能量随着时间的增长处于持续减少的状态。从图 5曲线变化情况来看, 网络运行至100轮时, 3种实验场景中存活的节点数目几乎相同, 这时网络消耗的总能量为最少状态。从100轮开始, 在场景1中节点数目开始减少, 以缓慢趋势减小到网络工作时间为500轮后, 节点数目急剧下降, 在670轮时网络结束工作。在场景3中, 在工作时间为400轮时网络节点出现消耗并从700轮开始节点数目减少幅度加大, 网络总体工作时间大于场景1下的网络工作时间。与场景1和场景3中的情况相比, 在场景2中网络节点出现消耗的时间延后至650轮, 当场景1和场景3中网络结束运行时, 此场景中仍有大部分节点在继续工作, 且网络工作时间几乎延长至1 000轮, 远远大于场景1和场景3下的网络工作时间。结合图 6曲线进行分析, 在场景2中网络剩余能量高于其他两种场景, 代表了在初始能量相同的状况下, 在场景2中的网络能量消耗最小, 有效节约了网络总体能量且延长了网络工作时间。实验结果表明:当1 200 m×30 m的带状区域分为20个大小相等的簇且间距取60 m时得到最优覆盖结果, 可以有效降低整个带状区域网络的能量消耗。

Download:
图 5 网络存活节点数随网络工作时间的变化情况 Fig. 5 Changes in the number of network surviving nodes with network working time
Download:
图 6 网络剩余能量随网络工作时间的变化情况 Fig. 6 Changes of network residual energy with network working time
3.2.2 簇头节点部署方法性能分析

网络生命周期和网络剩余能量是评价网络性能的重要指标[19]。为验证簇头节点非均匀部署方法的性能优势, 选取长度为600 m、900 m、1 200 m、1 500 m、1 800 m、2 100 m、2 400 m, 宽度为30 m的带状区域进行仿真实验。图 7为不同带状区域长度内簇头节点数目在均匀和非均匀部署两种情况下的生命周期对比结果。图 8为在实验进行500轮后, 不同带状区域长度下两种部署方法的剩余能量百分比。

Download:
图 7 网络生命周期随带状区域长度的变化情况 Fig. 7 Changes of network life cycle with strip area length
Download:
图 8 网络剩余能量随带状区域长度的变化情况 Fig. 8 Changes of network residual energy with strip area length

图 7可以看出, 当簇头节点非均匀部署时, 网络生命周期明显更长。在不同长度的带状区域中, 转发数据所需消耗的能量与簇头节点到基站的距离有关。通过簇头节点的计算公式可以得出, 非均匀部署簇头节点时, 靠近基站的第一个簇内簇头节点的数目最多, 因此当各簇内簇头节点数目均匀且相等时, 容易出现网络负载不均的问题从而影响网络整体的生命周期。该问题在带状区域长度为1 800 m时最为明显, 非均匀部署的生命周期是均匀部署生命周期的1.8倍。采用非均匀部署方法时通过计算在越靠近基站的簇内部署更多的簇头节点, 令各簇内能量耗尽时间保持一致, 从而有效延长网络生命周期。从图 8可以看出, 在实验进行500轮后不同部署方法下的网络剩余能量百分比, 当不同长度的带状区域中簇头节点数目非均匀部署时, 各个簇的能量消耗速度较均衡, 网络剩余能量百分比的变化稳定保持在20%左右。当簇头节点数目均匀部署时, 由于簇头节点转发数据所需消耗的能量不均, 更容易使网络提前结束, 减少网络工作时间, 并且有较多的剩余能量。随着带状区域长度的变化, 非均匀部署方法在网络能耗均衡方面的优势越来越明显, 并且网络剩余能量较为稳定, 明显优于均匀部署方法。因此, 本文采用簇头节点非均匀部署方法更为合理。

3.2.3 节点覆盖方法性能分析

为进一步验证本文节点覆盖方法在带状区域内的能量有效性, 从存活节点数目、网络总能耗两方面与EDNU、EECS方法进行比较。为尽可能考虑实际应用情况, 选取1 500 m×30 m的带状区域进行仿真, 结果如图 9图 10所示。

Download:
图 9 网络存活节点数对比 Fig. 9 Comparison of the number of network surviving nodes
Download:
图 10 网络总能耗对比 Fig. 10 Comparison of total network energy consumption

图 9图 10分别比较了在3种方法下网络工作时间变化和节点存活数目、网络总能耗的关系, 可以看出在带状区域网络中, 本文方法与其他两种方法相比更有优势。从图 9可以看出, 在分别使用3种方法时, 网络开始运行至工作时间为400轮时, 存活节点数目保持不变。从网络工作时间为400轮开始, EECS方法下的网络存活节点数目开始减少, 在500轮~630轮减少幅度加大, 当网络工作时间最长运行至800轮时, 大部分节点已经死亡, 网络结束工作[20]。EDNU方法在网络时间为540轮时存活节点数目发生变化, 网络工作时间持续到900轮结束。而在本文方法中, 节点数目的变化曲线更加平缓且网络工作时间更长, 其中存活节点数目开始减少的时间发生在620轮时, 当网络工作时间超过900轮时, 网络仍有较多的存活节点, 直至网络运行时间为1 000轮时才结束运行。本文方法与EDNU方法都是针对网络能耗不均衡且容易出现网络空洞问题提出的改进方法, 两者都采用等距分簇和簇间多跳方式, 但本文方法中网络工作时间相对EDNU方法显著延长。结合图 10曲线分析可知, 随着工作时间的增加和节点数目的减少, 网络能量一直处于消耗状态, 但在3种方法中, 本文方法保证了最少的网络总能耗和更长的网络运行时间, 性能优于其他两种方法。

图 11比较了在网络工作时间不断增加时3种方法的网络数据传输时延。可以看出, 本文方法的数据传输时延明显较小。在EECS方法中数据传输时延范围为0.6 s~0.8 s, EDNU方法保持在0.4 s左右, 而本文方法数据传输时延始终保持在0.2 s以内, 加快了带状区域中网络的数据传输速度, 与其他两种方法相比更具优势。图 12统计了3种方法在6次仿真实验中的网络数据传输成功率, 可以看出本文方法的数据传输成功率明显高于其他两种方法。将6次实验结果进行对比分析可知, 使用本文方法时数据传输成功率最高达到97%, 最低为94%, EDNU方法的数据传输成功率为90%~93%, 而使用EECS方法时的传输成功率低于88%。因此, 在带状区域中本文方法在数据传输方面更具稳定性与可靠性。

Download:
图 11 网络数据传输时延对比 Fig. 11 Comparison of network data transmission delay
Download:
图 12 网络数据传输成功率对比 Fig. 12 Comparison of network data transmission success rate
4 结束语

本文提出一种以菱形分区方式划分带状区域的WSN节点覆盖方法, 通过等距分簇后在菱形固定位置部署传感器节点, 实现对带状区域的网络覆盖。根据簇头节点与基站的距离计算不同簇内的簇头节点数量, 从而尽可能均衡网络负载并提高网络利用率。理论分析与实验结果表明, 本文节点覆盖方法能有效提高网络生命周期。后续将研究WSN节点部署方法中的覆盖冗余问题, 进一步均衡网络能耗并延长网络生命周期。

参考文献
[1]
CHANG Xueqin, ZHANG Daohua. A new non-uniform clustering algorithm for wireless sensor networks[J]. Journal of Jilin University(Science Edition), 2016, 54(6): 1388-1394. (in Chinese)
常雪琴, 张道华. 一种新的无线传感器网络非均匀分簇算法[J]. 吉林大学学报(理学版), 2016, 54(6): 1388-1394.
[2]
HAO Zhanjun, QU Nanjiang, DANG Xiaochao. A three-dimensional coverage algorithm for WSN with multiple mobile nodes in complex environment[J]. Computer Engineering, 2019, 45(2): 114-121, 128. (in Chinese)
郝占军, 曲南江, 党小超. 复杂环境下一种多移动节点的WSN三维覆盖算法[J]. 计算机工程, 2019, 45(2): 114-121, 128.
[3]
WANG Jianping, LI Jun, LI Qiyue. Research on node deployment of chain-type wireless sensor networks in tunnel[J]. Journal of Hefei University of Technology(Natural Science), 2016, 39(12): 1649-1654. (in Chinese)
王建平, 李军, 李奇越. 巷道链状无线传感器节点部署研究[J]. 合肥工业大学学报(自然科学版), 2016, 39(12): 1649-1654. DOI:10.3969/j.issn.1003-5060.2016.12.012
[4]
LIAO Jie, ZHANG Lei, MA Sasa. A coverage control optimization strategy with low energy consumption in wireless sensor network[J]. Computer Engineering, 2016, 42(11): 109-113. (in Chinese)
廖洁, 张磊, 马飒飒. 一种低能耗的WSN覆盖控制优化策略[J]. 计算机工程, 2016, 42(11): 109-113. DOI:10.3969/j.issn.1000-3428.2016.11.018
[5]
LI Chengfa, CHEN Guihai, YE Mao, et al. An uneven cluster-based routing protocol for wireless sensor networks[J]. Chinese Journal of Computers, 2007, 30(1): 27-36. (in Chinese)
李成法, 陈贵海, 叶懋, 等. 一种基于非均匀分簇的无线传感器网络路由协议[J]. 计算机学报, 2007, 30(1): 27-36. DOI:10.3321/j.issn:0254-4164.2007.01.004
[6]
LÜ Tao, ZHU Qingxin, ZHANG Luqiao. An Improved LEACH algorithm in wireless sensor network[J]. Acta Electronica Sinica, 2011, 39(6): 1405-1409. (in Chinese)
吕涛, 朱清新, 张路桥. 一种基于LEACH协议的改进算法[J]. 电子学报, 2011, 39(6): 1405-1409.
[7]
JIANG Changjiang, SHI Weiren, TANG Xianlun, et al. Energy-balanced unequal clustering routing protocol for wireless sensor networks[J]. Journal of Software, 2012, 23(5): 1222-1232. (in Chinese)
蒋畅江, 石为人, 唐贤伦, 等. 能量均衡的无线传感器网络非均匀分簇路由协议[J]. 软件学报, 2012, 23(5): 1222-1232.
[8]
ZHANG Changsen, XING Juan, ZHAO Shangqing. Energy-efficient uneven clustering algorithm[J]. Computer Engineering and Applications, 2016, 52(7): 106-109. (in Chinese)
张长森, 邢娟, 赵尚卿. 一种能量高效的非均匀分簇算法[J]. 计算机工程与应用, 2016, 52(7): 106-109. DOI:10.3778/j.issn.1002-8331.1405-0123
[9]
TIAN Feng, WANG Fei, LIU Huayan, et al. A deployment strategy in line wireless sensor networks[J]. Chinese Journal of Sensors and Actuators, 2010, 23(11): 1633-1637. (in Chinese)
田丰, 王飞, 刘华艳, 等. 一种线型无线传感器网络部署策略[J]. 传感技术学报, 2010, 23(11): 1633-1637. DOI:10.3969/j.issn.1004-1699.2010.11.023
[10]
XIA Xu, CHEN Zhigang, LI Deng, et al. Proposal for efficient routing protocol for wireless sensor network in coal mine goaf[J]. Wireless Personal Communications, 2014, 77(3): 1699-1711.
[11]
HEINZELMAN W B, CHANDRAKASAN A P, BALAKRISHNAN H. An application-specific protocol architecture for wireless microsensor networks[J]. IEEE Transactions on Wireless Communications, 2002, 1(4): 660-670. DOI:10.1109/TWC.2002.804190
[12]
KONG Linghe, ZHAO Mingchen, LIU Xiaoyang, et al. Surface coverage in sensor networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(1): 234-243. DOI:10.1109/TPDS.2013.35
[13]
WANG Bang, XU Han, LIU Wenyu, et al. A novel node placement for long belt coverage in wireless networks[J]. IEEE Transactions on Computers, 2013, 62(12): 2341-2353. DOI:10.1109/TC.2012.145
[14]
THAKKAR A, KOTECHA K. Cluster head election for energy and delay constraint applications of wireless sensor network[J]. IEEE Sensors Journal, 2014, 14(8): 2658-2664. DOI:10.1109/JSEN.2014.2312549
[15]
TIAN Liqin, LIN Chuang, ZHANG Qi, et al. Topology reliability design and optimization analysis of IoT-based monitoring[J]. Journal of Software, 2014, 25(8): 1625-1639. (in Chinese)
田立勤, 林闯, 张琪, 等. 物联网监测拓扑可靠性设计与优化分析[J]. 软件学报, 2014, 25(8): 1625-1639.
[16]
TIAN Liqin, MA Yanan. Design and optimal analysis of topological reliability to remote real-time monitoring of coal mine with IoT[J]. Metal Mine, 2017(10): 63-66. (in Chinese)
田立勤, 马亚楠. 基于物联网的煤矿实时监测的拓扑可靠性设计与优化分析[J]. 金属矿山, 2017(10): 63-66. DOI:10.3969/j.issn.1001-1250.2017.10.015
[17]
HU Qingsong, WU Lixin, ZHANG Shen, et al. Placement of positioning WSN in coal face and energy consumption analysis[J]. Journal of China University of Mining and Technology, 2014, 43(2): 351-355. (in Chinese)
胡青松, 吴立新, 张申, 等. 煤矿工作面定位WSN的部署与能耗分析[J]. 中国矿业大学学报, 2014, 43(2): 351-355.
[18]
ZHAO Fengda, MO Yunfeng, KONG Lingfu, et al. Method for holes recovery of heterogeneous wireless sensor network with coverage priority[J]. Journal of Chinese Computer Systems, 2018, 39(11): 2392-2397. (in Chinese)
赵逢达, 默云凤, 孔令富, 等. 一种具有覆盖优先级的异构WSN覆盖空洞修复方法[J]. 小型微型计算机系统, 2018, 39(11): 2392-2397. DOI:10.3969/j.issn.1000-1220.2018.11.008
[19]
WANG Bang, XU Han, LIU Wenyu, et al. The optimal node placement for long belt coverage in wireless networks[J]. IEEE Transactions on Computers, 2015, 64(2): 587-592. DOI:10.1109/TC.2013.215
[20]
WU Xuangou, XIONG Yan, HUANG Wenchao, et al. An efficient compressive data gathering routing scheme for large-scale wireless sensor networks[J]. Computers and Electrical Engineering, 2013, 39(6): 1935-1946. DOI:10.1016/j.compeleceng.2013.04.009