基于PSO-BP神经网络的无线传感器网络定位算法

2016-05-10 03:17
电子科技 2016年4期
关键词:粒子群算法无线传感器网络BP神经网络

闫 驰

(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)



基于PSO-BP神经网络的无线传感器网络定位算法

闫驰

(兰州交通大学 电子与信息工程学院,甘肃 兰州730070)

摘要针对无线传感器网络定位的基本功能问题。提出一种将PSO算法和BP神经网络相结合对RSSI在测距阶段测得的距离数据进行优化的算法。该算法将PSO算法作为BP神经网络的学习算法,缩短了BP神经网络的训练时间,并加快算法的收敛速度。通过仿真,定位精度较其他算法得到了明显提高,最高可达27.3%。

关键词无线传感器网络;BP神经网络;粒子群算法;RSSI;定位算法

定位技术是无线传感器网络[1](Wireless Sensor Networks,WSN)的基本功能之一。而基于测距的接收信号强度指示(Received Signal Strength Indication,RSSI)定位方法因其无需额外硬件、实现简单、成本低等特点,常被用于WSN的定位。但RSSI定位精度受环境影响大,故在测距阶段容易产生较大测距误差。由于人工神经网络在函数逼近等方面的优良表现。近年来,不少研究人员将其引入到WSN的定位中来,优化在测距阶段测得的数据,从而在定位精度上得到了大幅的提升。但神经网络固有的缺陷,如学习时间长、收敛速度慢等,也使得节点定位精度的提高受到严重的挑战。

因此,本文提出一种基于PSO-BP神经网络的WSN定位算法。将粒子群算法(Particle Swarm Optimization,PSO)作为BP网络的学习算法,通过粒子群算法在搜索寻优方面的优势,通过训练,缩短了BP神经网络的学习时间及收敛速度,使BP网络得到最优的初始化权值及阈值。通过Matlab软件的仿真,证明该算法对定位精度有了一定的改善。

1RSSI定位技术原理

接收信号强度指示(Received Signal Strength Indication,RSSI)测距[2]使用的信号传播模型包括经验模型和理论模型。理论模型一般是从经验模型基础上提炼而成的。

无线信号传播理论模型中对数-常态分布模型使用比较广泛。其表达式如式(1)所示

(1)

式中,n为路径损耗指数,取值一般在2~6之间;d0为参考距离,一般取1m。式(1)能预测出当距离为d时接收到的平均功率。即使距离d相同,不同位置周围环境也相差较大,因此引入一个平均值为0的高斯变量Xσ。

移动台接收到的RSSI值满足

RSSI=Pt+Pa-P(d)

(2)

其中,Pt为发射功率;Pa为天线增益;P(d)为路径损耗。

2PSO-BP神经网络优化测距误差原理

2.1BP神经网络

BP神经网络[3-4]是一种具有多层结构的前向网络,包括输入层、隐含层、输出层。各层之间是全连接的,同一层神经元之间是互不相连的。图1是具有一个隐含层的BP神经网络结构。输入、输出层神经元个数根据实际问题确定,而隐含层神经元个数的多少会影响网络的整体性能,一般由以下经验公式确定

(3)

其中,Nh为隐含层神经元个数;Ni为输入层神经元个数;No为输出层神经元个数;n为一个1~10之间的常数。

图1 3层网络结构

对于神经网络,学习功能是其重要特征之一。BP网络的学习算法属于δ学习律,是一种有教师指导的误差反传学习算法。输入学习样本为n个:x1,x2,…,xn,已知与其对应的教师值为t1,t2,…,tn,学习算法是根据实际的输出y1,y2,…,yn与t1,t2,…,tn的误差来调整网络连接权值和阈值,使yn尽可能地接近要求的tn。一般人工神经元功能函数采用S函数,其输出层表达式为

(4)

(5)

其中,bi是输出层第i个神经元的阈值;bk是隐含层第k个神经元的阈值;Hk是隐含层中第k个神经元的输出;fS为S函数,其表达式为

(6)

2.2粒子群优化算法

粒子群算法(ParticleSwarmOptimization,PSO)又称微粒群优化算法[5-6]。其是通过模仿鸟类或鱼群觅食行为而发展起来的一种随机进化算法。设在N维空间,粒子P在N维空间的位置为Lp=(l1,l2,…,ln),粒子的速度为Vp=(v1,v2,…,vn),目标函数决定了每个粒子的适应值(FitnessValue)。各粒子知道到目前为止历史发现的最好位置pbest以及到群体中所有粒子发现的最好位置gbest。粒子i的速度和位置更新根据方程(6)和式(7)迭代

(7)

(8)

2.3优化BP神经网络初始权值和阈值

(1)采集训练数据。对基于神经网络的无线传感器网络定位算法,首先应该采集到合适的训练数据[7]。本文利用Matlab搭建对数-常态分布模型的仿真环境,预先部署相应锚节点去感知环境,获取训练数据。锚节点之间通过RSSI模型测出的距离值D={dij,i≠j},D’={d’ij,i≠j}为信标节点之间的真实距离。将以上两组数据用来训练神经网络。

(2)网络权值和阈值的初始值优化。将粒子群算法作为学习算法,通过训练样本训练网络。从图1可知,网络共有n×l+l×m+n+m个权值和阈值。将所有神经元之间的连接权值映射为粒子群中的粒子的位置,则其维度为n×l+l×m+n+m。初始化种群,按照算法步骤迭代,直到产生使均方差MSE最小的粒子位置。该粒子位置向量各维度的值即就是网络的最优初始权值和阈值。当训练样本数量为P时,网络的均方误差为

(9)

其中,tjl为样本l在第j个输出端的期望输出值;Xl来自集合D,tjl对应来自集合D’。

3算法流程

根据以上分析,BP神经网络训练完成后,对未知节点具体的定位实现,整个过程按如下流程进行:

步骤1各锚节点每隔一段时间向周围环境广播定位消息,包括节点ID、神经网络参数、自身位置信息;

步骤2未知节点收到广播消息后,计算锚节点的RSSI平均值;

步骤3当未知节点收到一定数量的锚节点信息后,不在接收其他锚节点的信息。同时,未知节点根据RSSI值从强到弱将锚节点排序;

步骤4根据式(1)代入RSSI值得到预测距离xi,i=1,2,…,q,q指选择的锚节点个数;

步骤7通过加权质心算法,利用步骤6中的3组距离,可得到3个定位点及其坐标;

步骤8步骤7中得到的3点可构成一个三角形,计算该三角形的质心坐标,将该坐标作为未知节点的坐标(x,y);

4仿真结果

仿真环境是用Matlab[8]构建的一个10 m×10 m的区域内,在该区域的4个顶点、4条边的中点、整个区域的中心以及4个顶点所在正方形对角线的四等分点的位置共设有9个锚节点。未知节点随机部署在仿真区域内,共15个。考虑到实际环境中存在反射、多径等因素,在利用RSSI计算距离数据时,加入均值为0,方差为5的高斯噪声。路径损耗指数取3.5,将神经网络中隐层神经元个数设为4;PSO算法中,初始化种群数量设为M=20,最大迭代数为Q=1 000,学习因子c1=c2=1.8,仿真进行500次后,求平均定位误差,仿真结果如下。

图2 加权质心定位算法仿真结果

图3 基于BP网络的RSSI定位算法结果

图4 基于PSO-BP网络的RSSI定位算法结果

根据以上3幅图可看出,基于PSO的BP神经网络的定位算法在相同条件下定位误差明显减小,且定位误差也是优于前两种定位算法。根据仿真得到的平均定位误差值,绘制误差曲线,如图5所示。

图5 不同锚节点数下3种定位算法的定位误差

5结束语

本文针对传统基于RSSI无线传感器网络定位算法受环境影响而导致在测距阶段测得的距离数据存在较大误差[9],提出一种PSO-BP算法,该算法将PSO算法作为BP神经网络的学习算法,缩短了BP神经网络的训练时间和加快了算法的收敛速度。与传统的加权质心算法、BP算法相比,定位精度有了大幅提升,最高提升27.3%,证明了该算法的可行性和有效性。

参考文献

[1]吴成东.智能无线传感器网络原理与应用[M].北京:科学出版社,2011

[2]ZhangY,FangZ,LiR,etal.ThedesignandimplementationofaRSSI-Basedlocalizationsystem[C].Beijing:InternationalConferenceonWirelessCommunications,NetworkingandMobileComputing,IEEE,2009.

[3]丁士圻,郭丽华.人工神经网络基础[M].哈尔滨:哈尔滨工程大学出版社,2008.

[4]AshokKumarGoel,SureshCSaxenax,SurekhaBhanot.Afastlearningalgorithmfortrainingfeedforwardneuralnetworks[J].InternationalJournalofSystemsScience,2006,37(10):709-722.

[5]李博.粒子群优化算法及其在神经网络中的应用[D].大连:大连理工大学,2005.

[6]刘建华.粒子群算法的基本理论及其改进研究[D].长沙:中南大学,2009.

[7]石晓伟,张会清,邓贵华.基于BP神经网络的距离损耗模型室内定位算法研究[J].计算机测量与控制,2012,20(7):1944-1947.

[8]周开利,康耀红.神经网络模型及其Matlab仿真程序设计[M].北京:清华大学出版社,2005.

[9]胡华鹏,胡方明,周惇,等.DV-Hop无线网络定位算法研究[J].电子科技,2013,26(11):7-9.

Wireless Sensor Network Localization Algorithm Based on PSO-BP Neural Network

YAN Chi

(School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)

AbstractPositioning is the basic function of Wireless Sensor Network.The paper presents an algorithm that optimizes the distance data measured in ranging stage by combining the PSO algorithm and BP neural network.By taking the PSO algorithm as a learning algorithm of BP neural network,it shortens the training time of BP network and speeds up the convergence rate of the algorithm.The simulation results show that the positioning accuracy is significantly improved by up to 27.3% over those by other algorithms.

KeywordsWSN;BP neural network;particle swarm optimization;RSSI;localization algorithm

中图分类号TN926

文献标识码A

文章编号1007-7820(2016)04-056-04

doi:10.16180/j.cnki.issn1007-7820.2016.04.015

作者简介:闫驰(1989—),男,硕士。研究方向:无线通信。

收稿日期:2015- 08- 25

猜你喜欢
粒子群算法无线传感器网络BP神经网络
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究
一种改进的基于RSSI最小二乘法和拟牛顿法的WSN节点定位算法
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
无线传感器网络定位技术可靠性分析
对无线传感器网络MAC层协议优化的研究与设计
无线传感器网络技术综述
BP神经网络算法在数值预报产品释用中的应用
交通堵塞扰动下多车场车辆路径优化