邹自明 李福敏 乔新新
摘 要: 针对传统无线信号传播模型的参数一般通过拟合或直接根据经验得出,且又受环境复杂、多径效应等因素的影响,使得定位精度不高。为提高定位精度,引入广义回归神经网络(GRNN)来构建定位模型,以未知节点和参考节点之间的接收信号强度值(RSSI)作为网络的输入,未知节点的位置坐标(X,Y)作为输出来拟合网络模型。同时采用剔除处理和卡尔曼滤波处理对采集的RSSI值进行预处理,来削弱环境因素对信号的扰动。为避免GRNN参数选取的随意性及人为因素的干扰,采用混沌量子粒子群算法(CQPSO)来优化网络的光滑因子([σ]),以建立最优的网络定位模型来实现对未知节点坐标的预测。在Matlab平台上,与GRNN模型相比,其结果显示改进的定位算法具有更高的定位精度,提高了GRNN回归预测效果以及模型的泛化能力。
关键词: 节点定位; ZigBee; 广义回归神经网络; 混沌量子粒子群算法; 网络预测; 仿真验证
中图分类号: TN915?34; TP393 文献标识码: A 文章编号: 1004?373X(2020)04?0062?05
Research on ZigBee node positioning algorithm based on CQPSO?GRNN
ZOU Ziming, LI Fumin, QIAO Xinxin
(College of Mechanical and Control Engineering, Guilin University of Technology, Guilin 541004, China)
Abstract: The parameters of the traditional wireless signal propagation model are obtained in general by fitting or directly based on experience, and are affected by complex environment, multipath effect and other factors, which makes the positioning accuracy is low. Therefore, the generalized regression neural network (GRNN) is introduced to construct the positioning model, the RSSI received from between the unknown nodes and the reference nodes are taken as the network input, and the position coordinates of the unknown nodes (X,Y) are used as the network output to fitting the network model. At the same time, elimination processing and kalman filter processing were used to preprocess the collected RSSI value to weaken the disturbance of signal caused by environmental factors. The CQPSO algorithm is used to circularly measure the optimal smoothing factor (σ) to avoid the interference of human factors and random selection of GRNN parameters, so as to establish the optimal network location model to realize the prediction of unknown node coordinates. On the Matlab platform, in comparison with the GRNN model, the results show that the improved positioning algorithm has higher positioning accuracy, which improves the regression prediction effect of GRNN and the generalization ability of the model.
Keywords: node positioning; ZigBee; GRNN; QPSO; network prediction; simulation verification
0 引 言
伴随着物联网技术的飞速发展,无线传感器网络技术(WSN)成为一大研究热点,而ZigBee技术以其低功耗、成本低、可靠性高等优点在众多的WSN技术中熠熠闪光,成为节点定位的关键技术,通过RSSI值反映的空间信息来获取目标的位置信息[1]。为提高定位精度,在WSN节点定位中常应用人工神经网络、机器学习算法等来进行改善。GRNN网络是RBF网络的一种变形,它具有强大的非线性拟合能力和容错能力,在逼近能力和学习速度上均优于RBF网络,网络模型结构简单,最大限度地减少了人为因素对模型参数选择的影响,它也不同于多数的神经网络对样本数据有较高的要求,当样本数据较少时,也有较好的预测结果,应用范围更广。本文将该网络应用到节点定位中,建立RSSI与位置坐标(X,Y)的非线性映射模型。目前GRNN网络的光滑因子[σ]选取主要依据经验知识,手动设置,在很大程度上会对网络的预测造成影响。从数学的角度来看,[σ]的选取实质上是一个寻优问题,即寻找到一个最优[σ],使得网络的预测输出与实际值的均方根差最小。因此本文采用量子粒子群算法(QPSO)结合混沌搜索来优化[σ],根据未知节点的预测坐标与实际坐标的均方根差来构造适应度函数,通过对[σ]进行有限次迭代寻优使得适应度函数值达到最小,确定出最佳的[σ]来構建网络模型,提高网络回归预测效果,准确定位未知节点的坐标。
式中,[ad]和[bd]分别为优化变量的最小值和最大值。
3) 对[xld]进行混沌搜索,[xld=xld+βxld],如果[f(xld) 4) 更新 [l=l+1,cxld=μcxld(1-cxld)] (12) 5) 当达到最大的迭代次数时,[f?]保持不变,搜索结束;否则转至步骤2)继续搜索。 2.3 CQPSO算法的性能比较 为了验证改进算法的性能,选取2个经典测试函数进行测试。 1) [f1x=i=1nx2i],[-100≤xi≤100],全局最小值在[x=(0,0,…,0)]处取值0。 2)[f2(x)=i=1nx2i-10cos(2πxi)+10],[-5.12≤xi≤][5.12],全局最小值在[x=(0,0,…,0)]处取值0。 [f1x,f2x]的寻优曲线如图2、图3所示。通过对比发现PSO算法在迭代后期易陷入局部最优值,而CQPSO算法可以摆脱局部极值并搜索到全局最优解。 2.4 CQPSO算法优化光滑因子的步骤 1) 种群初始化。设置种群维数、种群规模、最大迭代次数和优化参数的最大、最小值。 2) 构造适应度函数为: [ffitnessi=1Ni=1Nx′i-xi2+y′i-yi2] (13) 式中:[ffitnessi]是粒子[i]的适应度值;[xi,yi]是第[i]个定位节点的实际坐标;[(x′i-xi)]为网络模型对第[i]个定位节点的预测坐标。 根据设置的适应度函数,计算初始种群中每个粒子的适应度值,并将这些适应度值分别设置为其粒子的最优值,然后对其比较得出一个全局最优值,并将与全局最优值相对应的粒子位置记录为全局最优位置。 3) 利用薛定谔波动方程更新粒子的位置,并对粒子的位置进行限制。 4) 重新计算粒子的适应度值,找出全局最优适应度值和全局最优粒子。 5) 采用混沌变量搜索,将混沌优化遍历的范围扩大到优化变量的取值范围。以QPSO算法搜索到当前最优解为基础,产生混沌序列,若在领域中发现更好的位置,那么混沌序列中的最优位置将取代当前位置,从而使种群摆脱局部最优。 6) 判断是否达到设置的Tmax,或是否满足搜索精度的需求,若达到则结束寻优,否则回到步骤2)再次执行,直到达到优化终止条件。 7) 最终得到最优的[σ],重构GRNN网络,将待测样本输入到训练好的网络模型中即可得到最佳输出。 2.5 数据滤波 1) 剔除处理 对采集的RSSI数据库中的一些奇异值进行剔除,这些值误差较大,公式为: [Vi=RSSIi-RSSImean] (14) [δ=1n-1i=1nV2i] (15) 根据[3δ]准则对样本值的去留做出判断,其标准为:若[Vi>3δ],则对应[RSSIi]值有较大突变,需将其剔除。 2) 卡尔曼滤波(KF)处理 对经剔除处理的RSSI数据库进行KF处理,过程如图4所示。 3 实验结果与仿真分析 3.1 实验环境搭建 本次实验采集的RSSI值是基于美国TI公司开发的CC2431无线定位芯片,此定位系统由4部分组成:网关节点、参考节点、定位节点和上位机。在上位机开发环境IAR Embedded Workbench中分别编译网关节点、参考节点和定位节点的程序代码,将生成的目标程序通过仿真器下载到相应的节点模块中。 选择定位区域的面积为10 m×10 m,在定位区域的四个角落布置参考节点,其坐标依次为:(0,0)、(10,0)、(10,10)、(0,10),在定位区域中均匀地选取437个接收节点,分别接收来自四个参考节点的信号,接收100次并记录与四个参考节点之间的RSSI值,并对采集的RSSI数据库进行剔除处理和卡尔曼滤波处理。此定位算法模型由训练网络阶段和测试节点阶段组成。在训练网络阶段中,将获取的样本数据进行预处理后训练网络,构建CQPSO?GRNN定位模型;测试节点阶段是将定位节点接收参考节点的RSSI值输入到已经训练完毕的网络定位模型,来预测出定位节点的位置坐标。 3.2 測试CQPSO?GRNN模型的最优光滑因子 从图5可见,在寻优的过程中目标函数适应度值随着迭代次数的增加而快速下降,经过13代寻优后CQPSO算法就寻得最优值,所得到的目标函数适应度值为0.130 3。 从图6可知,选取光滑因子为0.189 7时,该网络能够取得最小均方误差,使得预测精度最高。 3.3 定位结果分析 选取30组的测试数据,测试两种网络模型预测输出坐标是否和实际坐标相吻合,结果如图7、图8所示。 GRNN模型定位的最大误差是2.509 8 m,最小误差是0.438 5 m,平均误差是1.323 6 m,而CQPSO?GRNN模型定位的最大误差是1.323 7 m,最小误差是0.024 1 m,平均误差是0.369 9 m。显然,CQPSO?GRNN模型的定位精度高于GRNN。 3.4 模型性能比较 为了说明CQPSO?GRNN模型在节点定位中的优越性和准确性,在Matlab R2015b平台上模拟一个标准的仿真环境,100个节点随机分布在100 m×100 m的区域内,并从中随机选取一定比例的节点作为参考节点,剩余的则为未知节点。下面将从不同的参考节点密度和通信半径来比较GRNN,PSO?GRNN和CQPSO?GRNN的定位性能。 1) 参考节点密度对定位误差的影响 由图9可知,随着参考节点密度的增加,三种算法的定位误差都随之减小,但在相同参考节点密度下,CQPSO?GRNN算法定位精度更高。 2) 节点通信半径对定位误差的影响 从图10可以看出,随着通信半径的增加,节点的定位误差均有下降,而CQPSO?GRNN算法的曲线变化幅度比较平缓,且在相同通信半径的情况下,其定位误差低一些。 4 结 論 为提高WSN节点定位精度,本文采用基于CQPSO?GRNN节点定位算法,通过粒子的量子特性增强全局寻优能力,并结合混沌特性避免了种群陷入局部最优且增加了种群的多样性,来进行有限次的迭代寻优,增强全局寻找最优光滑因子的能力;同时对采集的RSSI数据库进行剔除处理和卡尔曼滤波处理,保证数据采集的可靠性和有效性。实验仿真结果显示,本文采用的定位算法能够降低定位的不确定性,提高定位精度,应用价值更高。 参考文献 [1] YUELIN D U, SHI X R, WANG K H. Research and realization of indoor positioning system algorithm based on ZigBee [J]. Computer technology and development, 2014, 24(7): 245?249. [2] SAMMEN S S, MOHAMED T A, GHAZALI A H, et al. Generalized regression neural network for prediction of peak outflow from dam breach [J]. Water resources management, 2017, 31(1): 549?562. [3] 王英博,聂娜娜,王铭泽,等.修正型果蝇算法优化GRNN网络的尾矿库安全预测[J].计算机工程,2015,41(4):267?272. [4] 葛柳飞,李克清.基于自适应GRNN的无线室内定位算法[J].计算机工程,2016,42(6):81?85. [5] VAN DEN BERGH F, ENGELBRECHT A P. A study of particle swarm optimization particle trajectories [J]. Information sciences, 2006(8): 937?971. [6] SONG B, WANG Z, ZOU L. On global smooth path planning for mobile robots using a novel multimodal delayed PSO algorithm [J]. Cognitive computation, 2017, 9(1): 5?17. [7] HUANG C, ZHANG D, SONG G. A novel mapping algorithm for three?dimensional network on chip based on quantum?behaved particle swarm optimization [J]. Frontiers of computer science in China, 2017, 11(4): 622?631. [8] LI Y, BAI X, JIAO L, et al. Partitioned?cooperative quantum?behaved particle swarm optimization based on multilevel thresholding applied to medical image segmentation [J]. Applied soft computing, 2017, 56: 345?356. [9] 方旺盛,刘晓鑫.混沌粒子群算法在矩阵秩RSSI算法中的研究[J].计算机工程与应用,2016,52(4):74?78. [10] MOJTAB S, BAMAKAN H, WANG H D. An effective intrusion detection framework based on MCLP/SVM optimized by time?varying chaos particle swarm optimization [J]. Neurocomputing, 2016, 199: 90?102.