中国学术期刊网 » 论文 » 工学论文 » 通信论文 » 中继节点机制与分簇数据融合算法论文正文

中继节点机制与分簇数据融合算法

中国学术期刊网【通信论文】 编辑:天问 云南大学学报(自然科学版) 2016-11-02中继节点机制与分簇数据融合算法论文作者:唐菁敏 王超,原文发表在《云南大学学报(自然科学版)杂志》,经中国学术期刊网小编精心整理,仅供您参考。

关键词: 无线传感器网络; 分簇; 中继节点; 数据融合
摘要:针对分簇的无线传感网中存在的簇首选择机制不合理以及在簇发送数据过程中因能耗不均衡而导致网络生命周期短的问题,提出基于中继节点机制的分簇数据融合算法.算法在不同分簇内根据数据信任值和能量信任值选择簇首,并在每个单独簇内选择一个中继节点,簇首收集簇成员的数据并融合,随之发送至中继节点;中继节点代替簇首与基站进行数据通信等工作,簇首在每轮的能量消耗会明显减少.对比传统的LEACH算法进行仿真实验,结果表明:采用此算法的无线传感器网络的生命周期有效延长了16%,并在一定程序上均衡了能耗.
 
中图分类号:TN929.5 文献标志码:A 文章编号:0258-7971(2016)05-0703-05 doi: 10.7540/j.ynu.20150785

无线传感器网络(Wireless Sensor Networks, WSN)是由分布在特定区域内的传感器节点所组成, 并且区域内的传感器节点是由能量有限的电源供电, 所以整个网络的能源供应和计算能力都受到了一定限制.如今, 传感器网络生命周期的长短一直是相关人员研究的难点和热点.为了减少WSN的能耗[1]、实现网络负载均衡, 我们多采用分布式方式和集群的路由协议.低功耗自适应集簇分层协议(LEACH)以其自身特性成为当今最为普遍采用的一种分簇路由协议算法.文献[2]中详细介绍了LEACH 算法.在采用LEACH算法的WSN的分簇结构内每个节点都有相同的概率成为簇首节点, 算法试图将整个网络的能耗平均分摊至每个节点, 这样的做法在某种程度上能够均衡能耗, 延长WSN的生命周期, 但此种机制也明显存在不足:LEACH协议的分簇结构中簇首是随机生成, 簇的监测区域有一定的重叠部分, 导致所检测的冗余消息会越来越多, 不必要的能耗随之增加, 由文献[3]可知, 这被称之为“ 热点” 问题; 簇首的更新是由检测周期决定, 在某些簇结构中, 有可能会发生簇首节点过早失效的问题, 导致因能耗不均衡而使得整个网络置于瘫痪.我们称之为“ 热区” 问题[4].

基于传统LEACH算法存在的不足, 本文提出一种基于中继节点的分簇数据融合算法(Clustering Data Fusion algorithm based on Realy Node Mechanism, CDFRNM), 根据数据信任值和能量信任值选择簇首, 并在每个分簇结构中加入中继节点机制, CDFRNM算法不仅能够很好地解决簇首的选择问题, 而且也避免簇首与基站直接通信这一效率十分低下的传统做法.仿真实验表明, CDFRNM算法不仅延长WSN的生命周期, 而且有效减少了WSN的能耗.

1 系统模型与CDFRNM算法设计
1.1 系统模型
CDFRNM算法同样是基于分簇的网络拓扑结构模型[5].首先将网络划分为非均匀矩形簇, 分簇按照距离基站的远近而划分, 距离基站越远, 簇的面积越大, 所包含的簇成员也越多.每个簇包括一个簇首、一个中继节点和若干个簇成员, 分簇如图1所示.


图1
Fig.1
Figure OptionView
Download
New Window
图1 CDFRNM算法分簇示意图
Fig.1 CDFRNM algorithm cluster schema

簇首与基站的通信方式以及簇内部节点之间的通信方式分别是多跳路由转发和单跳数据传输方式.在WSN中进行非均匀分簇, 考虑到节点自身因素和与基站综合距离等因素, 决定节点并入哪个簇.簇首的选择根据数据信任值和能量信任值2个因素选取; 中继节点在簇首选取之后, 考虑距离因素, 保证在数据传输的过程中, 传输路径最优[6].

1.2 CDFRNM算法设计
CDFRNM算法设计的总体流程如图2所示.


图2
Fig.2
Figure OptionView
Download
New Window
图2 CDFRNM算法设计流程图
Fig.2 CDFRNM algorithm design process

1.2.1 簇首的选择 传统分簇结构中, 簇首节点的能量消耗包括对簇内节点成员数据的收集、融合以及转发至基站等方面[7], 能耗较大, 因此有效的簇首选择机制是保证整个无线传感网络正常运行的重要因素.文献[8]簇首的选取需要考虑的因素有以下几个方面:节点信任度、通信因素、数据因素和能量因素等.本算法在簇首的选取方面考虑其中数据因素和能量因素.

(1) 数据信任值 数据信任值是由2方面决定:数据大小信任值和数据一致性信任值.节点传输数据过大时, 消耗能量自然过多, 很有可能导致节点失效; 而数据过小则有可能是自私节点[9]为了节省自身能量而选择丢包, 最后传输的数据不真实.所以在为了节省能量、延长网络生命周期的同时, 也要保证数据大小的界限, 这个界限也就是数据信任值.设一个节点传输数据时的阈值为Cs, 经节点Nj发送给节点Ni的数据D, 其数据大小信任值Sji为:

Sji= DC s ,      D≤C s ,1−D−C s C s ,  D>C s . DCs,      D≤Cs,1-D-CsCs,  D>Cs.(1)

在一个簇内算出由节点Nj发送给它的所有邻居节点的数据的信任值并求出其均值, 则得到节点Nj的数据大小信任值:


(2)


式中P为单个簇内节点的集合:P={N1, N2, …, Ni, …, Nj}.

假设节点Nj采集数据一致的次数为Uj, 数据采集不一致的次数为Vj, 则节点Nj的数据一致性信任值Aj为:

Aj= U j −V j U j +V j Uj-VjUj+Vj. (3)

综合以上数据大小信任值和数据一致性信任值, 则有节点Nj的数据信任值Cj为:

Cj=m× Sj+n× Aj, (4)

其中, m为数据大小信任值所占权重, n为数据一致性信任值, 且m+n=1.

(2) 能量信任值 设节点Nj的现存能量为Ej, 初始能量为E0, 剩余能量比Hj为:

Hj= E j E 0 EjE0. (5)

节点在接下来一段通信过程中接收、发送及处理数据所需的能量为θ n, 同时令Tθ = θ n E j θnEj, 则有

Ij= {1−T θ ,  T θ >1,0,    T θ ≤1, 1-Tθ,  Tθ>1,0,    Tθ≤1,(6)

则节点能量信任值Dj=p× Hj+q× Ij.其中p和q分别为Hj和Ij的所占权重, 且p+q=1, 由式中可以看出节点能量信任值Dj由剩余能量比Hj和Ij共同决定.

(3) 节点综合因子 设节点Nj的综合因子为Wj, 由算出的数据信任值Cj和能量信任值Dj, 可以得到传感器节点的综合因子Wj:

Wj=c× Cj+d× Dj, (7)

其中, c, d各为对应的权重因子, 计算综合因子时按各个因素的重要程度来选择其大小, 某因素权重因子越大则表示该因素越重要, 且有c+d=1.

设定1个节点因子阈值, 一旦节点能量耗尽或者综合因子小于该阈值, 则自动被当做死亡节点处理.在1个簇内选择节点综合因子值Wj最大的节点担任簇首, Wj值愈大, 则愈可靠.设定的综合因子的阈值为Wn, 在计算出节点综合因子Wj后, 比较各个节点的综合因子值与阈值的大小, 最后得到簇首.

1.2.2 中继节点机制 传统的分簇结构中, 簇首既要承担接收簇成员数据的工作, 又要负责与基站通信, 因而消耗的能量过多、过快.因而CDFRNM算法在分簇结构中提出中继节点机制, 即在每个簇的簇成员中选择出一个中继节点.这样簇首担任的工作便是簇首收集所有簇成员传送来的数据, 并进行数据融合, 然后将融合后的数据传送给选取出来的中继节点, 而中继节点便担任了同基站进行数据传输的工作.该机制下, 中继节点分担簇首与基站通信的工作, 簇首虽然在接收成员能量时消耗了较多的能量, 但是在与基站通信时, 通过簇内中继节点与基站通信, 消耗的能量减少了, 中继节点只是作为中继传输数据, 只是与较远的基站通信, 其它部分消耗的能量较少, 有效地平衡了网络的能量负载.

当簇首的选择完成以后, 簇的拓扑机构就确定了, 在每个簇内, 根据不同的应用需求设定不同的标准选择中继节点.对于簇内的每个节点Nj, 分别计算节点Nj与簇首CH的距离d(CH, Nj)和节点Nj到基站BS的距离d(CH, BS)的距离的平方和, 根据下列公式:

d(MCH, ACH)+d(ACH, BS)= min i=1,…,m 1 mini=1,…,m1(d(MCH, bi)+d(bi, BS)), (8)

计算两者平方和, 并将结果值最小的作为我们选择出的中继节点RCH.

在簇首与中继节点的选择分别完成之后, 最后就是计算整个WSN的能耗.簇成员向簇首发送数据的能耗计算公式为:

EmonCH=lEelec+lWjξ fs d 2 toCH dtoCH2, (9)

簇首向中继节点发送数据, 且中继节点发送数据至基站的能耗公式为:

ECH=lEelec (Nk sluster −1) Nksluster-1+lWjEAD Nk sluster Nksluster+lEelec+lξ mp d 4 toBS dtoBS4, (10)

其中, EmonCH为非簇首节点每轮发送l位消息包至簇首节点的能耗, Wj为节点综合因子, l为发送次数, N为节点个数, Eelec表示节点每次发送数据消耗的能量, ECH为中继节点每轮发送l位消息包至基站所需消耗的能量, EAD为融合每位数据的能耗, ξ fs和ξ mp为传输放大参数, ksluster为WSN簇数, dtoBS和dtoCH分别表示簇首节点与中继节点的距离及非簇首节点与簇首节点的距离, 则:

dtoBS= ∫ m 2 x 2 +y 2 − − − − − − √ 1M 2 ∫m2x2+y21M2dM2=0.3825M, (11)

dtoCH= ∫∫(x 2 +y 2 )ρ(x,y)dxdy − − − − − − − − − − − − − − − − − − − √ ∫∫(x2+y2)ρ(x,y)dxdy= Mπk √ Mπk. (12)

2 仿真结果分析
本文的仿真实验是在Matlab平台上进行的, 分别对传统的LEACH算法和本文提出的CDFRNM算法进行实验, 并将结果进行了对比.在传统的分簇数据融合算法中, LEACH算法最为普遍, 而通过将2种算法的实验结果进行对比分析, 得出的结论将有一定的参考价值和实际研究价值.仿真实验中, 数据信任值权重因子为0.6, 能量信任值权重因子为0.4, 实验的其它参数取值由表1列出.

表1
Tab.1
表1(Tab.1)

表1 仿真实验基本参数表 Tab.1 Simulation experiment parameter table参数 取值
网络部署区域起始点坐标/m (0, 0)
网络部署区域边长/m 250
基站位置/m (125, 300)
节点总数 500
节点初始能量/J 0.5
数据消息长度/bit 800
控制消息长度/bit 200
无线收发电路能耗/(nJ· b-1) 50
自由孔家模型放大器能耗/
(pJ· (b· m-2)-1) 10
多路径衰减模型放大器能耗/
(pJ· (b· m-4)-1) 0.0013
传输模型阈值/m 86.2
表1 仿真实验基本参数表
Tab.1 Simulation experiment parameter table
LEACH算法和CDFRNM算法仿真实验的网络生命周期结果对比如图3所示, 我们分析对比结果可知:采用LEACH算法分簇结构的WSN在大约第1200轮出现第1个失效节点, 而采用CDPRNM算法分簇结构的WSN第1个失效节点出现在1600轮, 与LEACH算法相比, 网络生命周期延长了16%, 且在1000轮以前, CDFRNM算法的WSN没有出现失效节点.在整个实验的过程中, CDFRNM算法相比于LEACH算法, 能显著延长WSN生命周期, 并大大延缓了第1个失效节点出现的的轮数.


图3
Fig.3
Figure OptionView
Download
New Window
图3 网络生命周期
Fig.3 Network life cycle of different cluster algorithms

在如图4的仿真图中我们得到的是WSN剩余能量总耗随着实验轮数变化的结果图.分析可知:在实验轮数相同的情况下, 采用CDFRNM算法的WSN剩余能量总量总是高于采用LEACH算法的WSN, 这在一定程度上说明我们提出的中继节点机制能够使WSN能量使用效率变高, 有效减少簇首节点的能耗, 均衡整个网络负载.


图4
Fig.4
Figure OptionView
Download
New Window
图4 剩余能量随轮数变化
Fig.4 The change of remaining nodes' energy with the number of experiments

3 结 论
本文针对LEACH算法中所存在的不足, 在优化传统分簇结构簇首选择方式并选择出一中继节点的机制下, 提出了CDFRNM算法, 利用中继节点与基站进行通信, 从而避免了簇首节点直接与基站通信而能耗过大.虽然算法在中继节点通信上增加了一些能耗, 但是簇首能耗明显减少, 仿真实验结果表明, 采用CDFRNM算法的网络生命周期要比传统的LEACH算法延长16%, 有效减少了整个网络的能耗, 并在一定程度上均衡了网络负载.