面向无线传感器网络的自适应模糊神经拓扑控制算法
2018-03-27胡黄水沈玮娜王宏志张邦成
胡黄水, 沈玮娜, 王宏志, 张邦成
(1. 长春工业大学 计算机科学与工程学院, 长春 130012; 2. 长春工业大学 机电工程学院, 长春 130012)
无线传感器网络(WSN)因其具有自组织、 部署方便、 隐蔽性强等优势而广泛应用于环境监测、 医疗保健、 国家安全以及太空探索等领域[1]. 网络节点硬件资源、 能量有限及延长网络生命周期是无线传感器网络需首要解决的问题. 而拓扑控制通过节点调度、 链路选择、 通信范围调节、 功率控制等方法, 优化网络结构, 降低网络能量消耗, 延长网络生命周期.
目前, 关于拓扑控制的研究已有很多结果: 文献[2]从网络连通和覆盖角度对拓扑控制方法进行了分类, 并介绍了主流方法, 指出了其控制思想和特点; Tsiropoulou等[3]提出了一种传输功率自优化的拓扑控制算法, 在保证网络连通度及高服务质量的情况下, 通过优化每个节点的传输功率降低网络能耗, 该算法虽然综合考虑网络连通性及服务质量, 但算法复杂, 增加了节点能耗; Woo[4]提出了两个集中式算法, 在保证网络连通性的同时减小每个节点的最大发送功率, 从而延长网络生命周期; Narayanaswamy等[5]和Kawadia等[6]使用最小传输功率保证网络连通性, 减小网络能耗, 但均未考虑算法调节的自适应能力. 随着模糊理论在无线传感器网络优化决策、 降低资源消耗方面展现的优越性能[7], 其也用于拓扑控制. 文献[8]提出了基于模糊控制的拓扑控制(FCTP)算法, 该算法将实际节点度与期望节点度之间的误差, 当前和前一个周期传输功率差值之间的比率作为模糊控制的两个输入项, 将下一步的无线传输功率水平作为输出项, 通过调整节点发射功率控制网络拓扑; 文献[9]针对WSN点对点通信方式, 将模糊逻辑应用于控制系统中, 根据链路质量控制发射功率. 目前的方法均通过构建隶属度函数和if-then规则设计模糊逻辑控制器, 其对复杂且动态的实际无线传感器很难获得期望的性能. 本文提出一种基于自适应模糊神经网络的拓扑控制算法(adaptive fuzzy neural topology control algorithm, AFNTC), 采用神经网络学习算法替代繁杂的模糊控制器参数调整过程, 通过调节每个节点的通信范围, 控制节点发射功率, 使节点在网络中的实际能耗达到期望值, 降低网络能耗的同时提高网络动态性能.
1 网络模型
图1 网络模型Fig.1 Model of network
在典型的无线传感器网络应用中, 数据包通过各节点传输至汇聚节点. 假设有一圆形网络, 均匀部署传感器节点, 圆心处为Sink节点. 为简化网络模型并方便分析, 将圆形网络分割成多个扇形子网络, 如图1所示. 在该模型中, 整个网络区域被划分成几个宽度相同但面积不同的环, 第i环被分成(2i-1)个面积相同的网格, 所有节点向网络中唯一的汇聚节点传输数据, 则可定义扇形网络为φ(α,R,N,K), 其中:α为网络圆心角;R为半径; 整个扇形网络被分成N个网格和K个环. 由图1可见, 网络包含4个环和16个小区域, 扇形网络圆心角为π/6, 则其可表示为φ(π/6,R,16,4). 节点采集到信息后通过多跳方式将数据传输给汇聚节点, 即第1环内的Sink节点.
2 模糊神经网络系统设计
为保证网络的稳定性及自适应能力, 本文设计一个基于模糊神经网络的控制系统, 该系统结构如图2所示. 模糊控制以模糊理论为主要计算工具[10], 可实现复杂的非线性映射, 人工神经网络能通过已知的数据进行学习和归纳, 二者的结合使控制系统既具有模糊逻辑推理能力, 同时也可通过系统自适应地不断改进和调整, 达到更好的控制效果[11].
图2 自适应模糊神经网络控制系统结构Fig.2 Framework of adaptive fuzzy neural network control system
控制系统通过控制节点通信范围, 即控制节点发射功率, 达到节点能耗可控的目的. 由图2可见, 其中一个输入参量为节点期望能耗E(u)ref=e. 节点能耗通常和节点需传输的数据包大小有关: 当数据包较大时, 节点发送数据时的能耗大, 近距离多跳传输能有效降低网络能耗; 当数据包较小时, 节点发送数据时的能耗小, 远距离传输能更有效地降低网络能耗[12]. 因此, 选取数据包大小Li作为另一个输入参量.
在无线传感器网络中, 通常节点硬件如CC2420等都具有调节发射功率的能力, 节点发射功率越大, 通信距离越长; 节点发射功率越小, 通信距离越短. 考虑到节点可通过调整通信范围控制发射功率的特性, 因此输出参量选为节点的通信范围CR, 进而控制节点能耗.
在图2中, 控制系统根据节点实际能耗与期望能耗之间的差值εE, 调整θ的大小,θ值通过积分器积分后与初始数据包大小Li0求差值, 确定需要传输的数据包大小Li. 向模糊神经网络控制器输入参量E(u)ref和Li, 模糊神经网络控制器输出本次节点的通信范围CR, 将该通信范围代入节点实际应用中, 则可知节点实际能耗E, 控制系统一轮调整完毕. 在有限的轮数内, 系统通过反馈、 循环的方式不断调整节点的通信距离, 控制节点传输功率, 从而使节点实际能耗接近期望值, 延长网络生命周期.
2.1 训练集的获取
文献[12]给出了节点能耗表达式:
将式(1)作为本文节点能耗的表达式. 其中:Lmax表示节点能传输的最大数据包长度, 假设网络中所有节点的数据传输速率为固定值, 节点发送和接收数据的耗时与数据包大小成正比, 则Li/Lmax表示节点传输大小为Li的数据包所用的时间;si表示第i个传感器节点;t(si)表示在网络中节点si能将数据传输至Sink节点的路径集;Ee表示节点发送接收电路上的能耗;Er表示功率放大器能耗;Eid表示节点空闲状态时的能耗;d表示两节点之间的距离. 式(1)右半部分表示节点处于不同状态时的能量消耗与在该状态下持续时间的乘积, 其中, 第一部分表示节点u将数据传输至节点集v的过程中, 节点u处于发送状态的能耗; 第二部分表示节点u接收节点集v′传送来数据包时消耗的能量; 第三部分为节点u处于空闲状态时的能耗. 由于节点处于睡眠状态时能耗很小, 因此式(1)中不考虑节点处于睡眠状态时的能耗.
图3 模糊神经网络结构框图Fig.3 Framework of fuzzy neural network
在实际网络中,Lmax,Ee,Er,Eid均为已知量, 因此, 式(1)即为系统输入E(u)ref,Li和输出CR之间的关系式, 即E(u)ref=f(Li,CR). 其中:Li∈{l1,l2,…,lk};CR∈{d1,d2,…,dk}. 控制系统中模糊神经网络控制器可使用MATLAB中自适应神经模糊系统工具ANFIS搭建. 模糊控制部分, ANFIS自动选取T-S型模糊控制器, 隶属度函数与控制规则均可根据输入/输出数据和所提出的条件, 在经过人工神经网络对训练集的多次训练后, 自动由ANFIS推算获得[13]. 利用输入/输出关系式E(u)ref=f(Li,CR)可得到大量的训练集T(T为一个k×3矩阵), 记为(E,L,CR).
2.2 模糊神经网络控制器设计
模糊神经网络控制器结构框图如图3所示.
1) 输入层: 网络设有两个输入E(u)ref和Li.
2) 输入变量隶属度函数层: 根据采集到的节点期望能耗、 数据包大小及通信范围构造训练数据对(E,L,CR)用于模型的训练. 其中E,L,CR分别表示节点期望能耗、 数据包大小和节点通信范围. 对于第j(j=1,2,…,n)对训练数据对(Ej,Lj,CRj), 数据训练前先采用高斯函数进行输入变量的模糊化, 得到各变量隶属度函数为
(2)
3) 规则层: 进行模糊运算, 输出各神经元输入取积后的归一化值, 即各条规则的激励强度归一化, 各节点输出为
(3)
4) 自适应运算层: 该层结合4条控制规则完成自适应运算, 计算出每条规则的输出, 节点输出结果为
(4)
其中pi,qi,ri(i=1,2,3,4)是该节点的结论参数.
5) 输出层: 网络训练总输出表示根据输入的节点期望能耗与数据包大小预测的节点通信范围值, 其结果为自适应运算层中4个节点的输出总和:
CR=C1+C2+C3+C4.
(5)
将式(2)~(4)代入式(5)中, 计算网络输出值CR为
2.3 学习过程分析
模糊神经网络控制器学习要达到的目的是根据实际采集的训练集输入、 输出量确定被控参数和控制规则. 系统学习的误差函数为
(7)
其中:k表示学习次数;α表示网络学习率. 网络通过不断学习达到预期的控制效果.
2.4 θ和Li0值的确定
在自适应模糊神经控制系统中, 若节点实际能耗E不等于期望能耗E(u)ref, 则系统需通过调整节点数据包大小使二者相等. 定义节点能耗差值εE, 表示节点实际能耗与期望能耗之差, 计算公式为:
εE=E-e.
(11)
如图2所示, 控制系统通过积分器动态调节Li的大小,Li的值与θ和Li0的大小有关. 当能耗差值εE>0, 即节点实际能耗E大于期望能耗值e时, 设θ=θ0/2,CR加快减小, 从而使εE→0. 本文中设θ=0.02,Li0=0.8.
3 拓扑控制算法
基于本文设计的自适应模糊神经网络控制系统, 提出与其相应的AFNTC拓扑控制算法. 针对任意节点u的AFNTC拓扑控制算法伪代码如下, 其中evalfis为MATLAB中模糊推理系统的函数, 在已知输入量的情况下可求出输出量的值. AFNTC拓扑控制算法输入为无线传感器网络φ(α,R,N,K), 算法输出为拓扑搭建完成后的子网络G(V,E), 其中:V为拓扑网中的节点集;E为连接这些节点的链路集.
输入:φ(α,R,N,K);
输出:G(V,E);
需要的已知量: 训练集T=(E,L,CR); 节点最大通信距离rmax; 节点期望能耗E(u)ref=e; 初始数据包大小Li0; 初始θ值θ0; 循环轮数rounds=15;
算法如下:
1) 通过MATLAB中ANFIS工具训练T, 获得模糊神经网络控制器;
2)CRu⟸rmax;
3)Li⟸Li0;
4) while rounds>0 do
5) 计算节点以通信范围CRu传输数据包大小为Li时的实际能耗E;
6) 计算εE=E-e;
7) ifεE>0 then
9) else
10)θ=θ0;
11) end if
13)CRu⟸evalfis(E(u)ref,Li);
14) rounds⟸rounds-1;
15) end while
16) 将节点u以CRu为通信范围所确定的下一跳节点加入拓扑子网络的节点集V;
17) 将连接节点集V中所有节点的链路加入链路集E;
18) end.
图4为使用AFNTC算法的拓扑控制工作过程. 假设网络选取φ(π/6,R,9,3),s(1)和s(2)为两个源节点, 如图4(A)所示. 待发送数据节点根据预设的节点期望能耗E(u)ref和数据包大小Li, 通过AFNTC算法计算后确定通信范围CRu, 使得节点实际能耗达到期望值e, 将数据传输至距离为CRu的下一跳节点, 该下一跳节点即为拓扑子网络节点集V中的节点, 然后以此方法通过多跳传输的方式将数据发送至第1环内的Sink节点, 连接这些子网络节点集中所有节点的链路即为链路集E. 图4(B)中实线表示节点经过AFNTC算法调整后, 通信范围CRu所能通信的下一跳节点路径, 虚线则表示未被选中的路径.
图4 AFNTC算法工作过程Fig.4 Working process of AFNTC algorithm
4 仿真分析
为了验证本文算法的性能, 使用MATLAB仿真工具, 对AFNTC算法、 文献[9]中的FCTP算法和文献[14]中的局部平均算法LMA进行比较分析. 定义扇形网络φ(α,R,N,K), 其中α=π/2,R=700 m,N=4 900,α=70. 节点最大数据包长度Lmax=5 000 B, 发送/接收电路上的能耗Ee=50 nJ/bit, 功率放大器能耗Er=0.01 nJ/(bit·m-2), 节点空闲状态时的能耗Eid=50 nJ/bit, 网络中源节点数量为80, 节点随机分布在网络中.
图5 节点能耗与节点数量的关系Fig.5 Relationship between energy consumption of nodes and number of nodes
首先在不同期望能耗情况下, 对节点数量与用AFNTC计算出的节点实际能耗的关系进行分析, 结果如图5所示. 由图5可见, 当节点期望能耗为0.5 mJ时, 节点实际能耗在期望值附近波动, 基本接近期望值; 当节点期望能耗预设值越小时, 实际能耗略高于期望值的情况越明显, 这是因为期望能耗越小, 算法调整的难度越大, 在有限的算法循环轮数内, AFNTC算法尽量将节点实际能耗靠近期望能耗值. 此外, 随着节点数量的增加, 节点实际能耗越趋近于期望能耗, 原因是在算法调整节点通信范围时, 节点越密集, 节点通信范围CR所覆盖的节点区域越精确, 越有利于算法调整节点的实际能耗.
网络收敛时间能反应网络在增减节点、 重新部署及受到干扰时快速重组拓扑的能力. 本文对AFNTC,FCTP和LMA算法之间传输功率和收敛时间关系进行比较, 结果如图6所示. 由图6可见, LMA算法收敛时间随传输功率的增大而不断变长, 这是因为LMA算法调节时非常依赖于周围邻居节点, FCTP算法的收敛时间与AFNTC算法接近, 收敛速度均优于LMA算法. 对3种算法在不同传输功率时节点平均总能耗进行分析对比, 结果如图7所示. 由图7可见: AFNTC算法中, 节点期望能耗E(u)ref=e=0.4 mJ; 在传输功率为-14 dBm前, AFNTC算法的节点平均能耗略高于FCTP和LMA算法能耗; 但在节点期望能耗附近, 随着传输功率的增大, FCTP和LMA算法的能耗明显大于AFNTC算法. 由于AFNTC算法自适应控制的特点, 虽然设置的节点发射功率并非理想功率, 但控制系统的反馈循环机制有效控制节点的实际能耗. 节点平均实际能耗越低, 网络生命周期则越长.
图6 不同传输功率时的收敛时间Fig.6 Convergence time for different transmission power
图7 传输功率与节点平均能耗的关系Fig.7 Relationship between transmission power and average energy consumption of nodes
综上所述, 本文从控制节点通信范围的角度出发, 提出了一种面向无线传感器网络的自适应模糊神经拓扑控制算法----AFNTC, 其在人工神经网络学习训练集的基础上建立模糊控制系统, 避免了传统方法的复杂参数调节过程, 并通过反馈、 循环机制调整节点通信范围, 以获得期望的节点能量消耗. 从收敛时间和平均能耗方面对算法进行了仿真分析, 结果表明, 该算法能有效控制节点能耗, 延长网络生命周期.
[1] Borges L M, Velez F J, Lebres A S. Survey on the Characterization and Classification of Wireless Sensor Network Applications [J]. IEEE Communications Surveys & Tutorials, 2014, 16(4): 1860-1890.
[2] LI Ning, Hou J C. Localized Fault-Tolerant Topology Control in Wireless Ad Hoc Networks [J]. IEEE Transactions on Parallel & Distributed Systems, 2006, 17(4): 307-320.
[3] Tsiropoulou E E, Katsinis G K, Papavassiliou S. Distributed Uplink Power Control in Multiservice Wireless Networks via a Game Theoretic Approach with Convex Pricing [J]. IEEE Transactions on Parallel & Distributed Systems, 2012, 23(1): 61-68.
[4] Woo A. Taming the Underlying Challenges of Reliable Multihop Routing in Sensor Networks [C]//International Conference on Embedded Networked Sensor Systems. New York: ACM, 2003: 14-27.
[5] Narayanaswamy S, Kawadia V, Sreenivas R S, et al. Power Control in Ad-Hoc Networks: Theory, Architecture, Algorithm and Implementation of the COMPOW Protocol [C]//Proceedings of European Wireless Conference. Florence, Italy: [s.n.], 2002: 156-162.
[6] Kawadia V, Kumar P R. Power Control and Clustering in Ad Hoc Networks [C]//Twenty-Second Annual Joint Conference of the IEEE Computer and Communications. Piscataway, NJ: IEEE, 2003: 459-469.
[7] Mirjana M, Valdimir V, Vladimir M. Fuzzy Logic and Wireless Sensor Networks-A Survey [J]. Journal of Intelligent & Fuzzy Systems, 2014, 27(2): 877-890.
[8] ZHANG Jianhui, CHEN Jiming, SUN Youxian. Transmission Power Adjustment of Wireless Sensor Networks Using Fuzzy Control Algorithm [J]. Wireless Communications & Mobile Computing, 2009, 9(6): 805-818.
[9] JIANG Ting, WU Pengjie, SHEN Bin, et al. A Novel Fuzzy Algorithm for Power Control of Wireless Sensor Nodes [C]//International Conference on Communications and Information Technologies. Piscataway, NJ: IEEE, 2009: 64-68.
[10] 张小娟. 自适应神经模糊推理系统(ANFIS)及其仿真 [J]. 电子设计工程, 2012, 20(5): 11-13. (ZHANG Xiaojuan. Adaptive Neuro Fuzzy Inference System (ANFIS) and Its Simulation [J]. Electronic Design Engineering, 2012, 20(5): 11-13.)
[11] 南敬昌, 周丹, 高明明, 等. 基于自适应模糊神经网络的功放预失真新方法 [J]. 计算机工程与应用, 2016, 52(7): 96-100. (NAN Jingchang, ZHOU Dan, GAO Mingming, et al. A New Method of Power Amplifier Predistortion Based on Adaptive Fuzzy Neural Networks [J]. Computer Engineering and Applications, 2016, 52(7): 96-100.)
[12] Nickray M, Afzali-Kusha A, Jäntti R. Simultaneous Power Control and Power Management Algorithm with Sector-Shaped Topology for Wireless Sensor Networks [J]. EURASIP Journal on Wireless Communications and Networking, 2015, 2015(1): 1-16.
[13] Pillai G N, Pushpak J, Nisha M. Extreme Learning ANFIS for Control Applications [C]//2014 IEEE Symposium on Computational Intelligence in Control and Automation (CICA). Piscataway, NJ: IEEE, 2014: 1-8.
[14] Kubisch M, Karl H, Wolisz A, et al. Distributed Algorithms for Transmission Power Control in Wireless Sensor Networks [C]//Wireless Communications and Networking. Piscataway, NJ: IEEE, 2003: 558-563.