改进的Elman 神经网络在WSNs 距离预测中的应用*

2013-04-21 01:55罗配明
传感器与微系统 2013年1期
关键词:测距滤波神经网络

陈 龙,张 可,罗配明

(1.电子科技大学 电子科学技术研究院,四川 成都611731;2.电子科技大学 自动化工程学院,四川 成都611731)

0 引 言

随着无线传感器网络(WSNs)研究的不断深入,应用化已经逐渐成为人们关注的焦点。各种在特定应用背景下的研究日渐增多,如应用在环境监测、目标跟踪、安全监控等领域。位置信息对传感器网络的监测活动至关重要,事件发生的位置或获取信息的节点位置是传感器网络节点监测消息中所包含的重要信息,了解传感器节点位置信息不仅可以获取路由信息,而且可以进行节点定位等等[1,2]。测距的误差在很大程度上决定了目标定位与跟踪的误差。常用的定位方法必须测量节点间的距离,一般测距方式有红外线、GPS、超声波和接收信号强度指示(received signal strength indication,RSSI)等[3]。

由于无线芯片具备计算接收信号强度的功能,因此,基于RSSI 的测距主要是通过信号强度推导发射节点与接收节点之间的距离。基于RSSI 的测距具有成本低,无需添加额外硬件的优点,而基于超声的测距虽然精度高,但是需要添加其他硬件,这样,会导致成本变高和尺寸变大[4],所以,WSNs 定位一般都是采用基于RSSI 测距的方法,首先对RSSI 进行滤波处理,再建立改进的Elman 神经网络预测模型得出距离值,该方法不但使得测距精度变高,而且成本也很低。

1 改进的Elman 神经网络

Elman 神经网络的特点是经典的局部递归内时延反馈型网络,以BP 神经网络为基础,通过引入反馈信号来存储内部状态,使得Elman 神经网络具有映射动态的功能。

从图1 可以看出:Elman 神经网络的结构组成包括:输入层、隐含层、输出层以及关联层,关联层主要负责对隐含层单元前一时刻的输出值进行记忆和延迟,通过关联层的记忆、延迟作用,隐含层的输出可以自联到该层的输入。

Elman 模型回归神经元网络的隐含层输入等于上一个时刻的隐含层状态连同此时的网络输入,是通过联接记忆实现的,起到状态反馈的作用。该自联方式的优点是对历史数据非常敏感,提高网络本身处理动态信息的能力是通过内部反馈网络的加入实现的,这样可以动态建模。但是,Elman 网络的前馈连接虽然可以对连接权进行修正,但是递归部分却不能修正,而且,Elman 神经网络采用只有一阶梯度的BP 算法进行权值修正,因此,Elman 网络学习稳定性差、精度不高。因此,本文改进了Elman 神经网络[5],其结构如图2 所示。

图2 改进的Elman 神经网络模型Fig 2 Improved Elman neural network model

从图1 和图2 中可以看出:改进后的网络模型与改进前的不同之处是:改进后的Elman 网络在结构单元中,增加了一个固定增益a,用于自反馈连接,a 的范围为0 ~1 之间。因此,结构单元在k 时刻的输出,等于隐含层在k -1时刻的输出加上结构单元在k-1 时刻输出值的a 倍,即

其中,l=1,2,…,n;xc,l(k)和 xl(k)分别为第 l 个结构单元输出向量和第l 个隐含层单元输出向量,a 为自反馈连接的固定增益。

改进后的Elman 神经网络计算公式为

改进的Elman 神经网络的BP 学习公式为

其中,i=1,2,…,m;j=1,2,…,n;q =1,2,…,r;l =1,2,…,n。

由于结构单元输出向量xc,l(k)与关联层、隐含层的权值向量之间没有依赖关系,可得

2 实验设计

实验是在空旷的广场进行。采用2 个Crossbow 公司的节点,发射功率为0 dBm,0 号节点为固定节点,用于接收数据,另一个为移动发射节点,发射节点与接收节点均使用短状天线,节点放置高度在2 m,固定0 号节点,移动发射节点。经过大量的实验对比,得出RSSI 在10 m 的范围内随着距离的变化比较明显,而10 m 之后,RSSI 值随距离变化较小,所以,此实验的测试范围限定在0 ~10 m,这样能更好地进行误差对比。实验人员在0 ~10 m 的范围内移动节点,每间隔0.3 m 记录RSSI 值,每个距离均接收200 个左右数据包,计算200 个RSSI 值的平均值。

3 RSSI 滤波处理

由于获取的RSSI 值与距离的关系曲线还不够平滑,为了使样本的质量更高、训练效果更好,先对RSSI 值进行滤波处理,分别进行限幅滤波处理、递推平均滤波处理和限幅平均滤波处理。图3 为3 种滤波方式的效果比较。

图3 三种滤波方式的比较Fig 3 Comparison of three filtering methods

由图3 的结果可以得出:限幅平均滤波后,样本的效果最好,最终以限幅滤波后的数据作为训练样本。

4 建立改进的Elman 神经网络预测模型

以限幅滤波后的数据作为训练样本。以RSSI 作为输入,以距离作为输出,一般的预测问题都是采用单隐含层的神经网络实现,这里也是采用单隐含层。最近时刻的距离值都是利用前面不同距离下的RSSI 值进行训练,每一次收到RSSI 都修正网络的权值与阈值,判断误差是否小于设定的误差值,如果小于,则退出;否则,采用下一批样本进行训练,如图4 所示为建立神经网络的流程图。

图4 建立神经网络的流程图Fig 4 Flow chart of neural network set up

1)数据归一化处理:为了方便Matlab 的计算,首先对数据的大小进行归一化处理,这里根据现有的数据情况,分别对输入和输出量进行归一化处理[6]。

2)激活函数的选择:S 型的对数函数logsig 作为隐含层的神经元传递函数;如果神经网络的输出层神经元采用S型函数作为激活函数,那么网络的输出就只在一个较小的范围内,如果神经网络的输出层神经元采用线性函数作为激活函数,那么网络的输出可以是任意值,因此,输出层神经元传递函数采用线性函数purelin。

3)设定网络的最大学习迭代次数为2000 次。

4)设定网络的学习精度为0.01。

5)最优隐含层神经元个数的确定:首先,采用不同的隐含层神经元数对网络进行训练,可以得到不同的隐含层神经元个数下的网络误差与网络训练次数。经过训练后,隐含层神经元个数为8 的神经网络对函数的逼近误差最小,网络训练141 次达到误差要求,因此,将网络隐层神经元数目定为8 个。

6)自反馈固定增益a 的确定:该值根据不同的训练情况下做出相应的调整,在训练的过程中不断修正,使得网络误差更小。通过不同的取值进行误差对比,得出该值为0.2时,网络误差最小,因此,该值定为0.2。

5 改进的Elman 神经网络的训练

采用上面建立的神经网络预测模型进行训练,从训练结果图5 中可以看到训练141 次后达到0.01 的误差要求。

图5 训练结果图Fig 5 Training results

6 改进的Elman 神经网络预测模型与高斯拟合模型的比较

为了验证该模型的可靠性,根据网络训练的结果,把测试结果与真实值进行对比,为了更突出该方法的优越性,并与高斯拟合模型计算出来的距离值进行了比较。其中,高斯模型数据处理原则为:节点在同一位置会收到n 个RSSI值,因此会有小概率事件发生,通过高斯模型获取高概率发生的RSSI 值,然后计算其几何均值。最后采用运算式:RSSI=46 -30lg d(d 为距离值),计算出距离值。表1 为改进的Elman 神经网络预测模型、高斯拟合模型与真实值的比较,图6 为改进的Elman 神经网络预测模型与高斯拟合模型的误差对比曲线。

表1 预测模型、高斯拟合模型与真实值的比较Tab 1 Comparison of predictive model,Gaussian fitting model and real value

训练次数141 次

图6 模型预测值与经验公式值的误差对比Fig 6 Error comparison of model predictive value and empirical formula value

由表1 和图6 可以得出:由改进的Elman 神经网络预测模型预测的距离值比高斯拟合模型计算出来的距离值,整体误差较小。高斯拟合模型计算的距离误差最大为2.188 8 m,最小误差为0.522 9 m,而由改进的Elman 神经网络模型预测模型得到的距离误差最大为0.788 6 m,最小误差为0.022 3 m,测距的精度明显提高了很多[7]。

7 结束语

改进Elman 网络的预测值与实测值拟合度更高,误差更小,预测精度可以达到很高的要求。通过对样本的预处理,可以提高训练结果的精度,因此,样本的好坏直接影响训练结果。节点RSSI 值的随机性较大,会随着环境与其他干扰的影响发生突变,因此,先对RSSI 值进行滤波处理,滤掉突变的数据再进行网络的训练,预测结果就能达到较理想的水平。该模型适用于样本与预测的数据在同一环境和同样的实验平台下,在10 m 以内进行预测,可以达到很高的测距精度,从而进行精确定位。

[1] Nieulescu D.Nath B.DV-based positioning in Ad Hoc networks[J].Journal of Telecommunication System,2003,22(1/4):267 -280.

[2] Bulusu N,Heidemann J,Estrin D.GPS-less cost outdoor localization for very small devices[J].IEEE Personal Communications,2000,7(5):28 -34.

[3] 方 震,赵 湛,郭 鹏.基于 RSSI 测距分析[J].传感技术学报,2007,20(11):2526 -2530.

[4] 詹 杰,吴伶锡,唐志军.无线传感器网络RSSI 测距方法与精度分析[J].电讯技术,2010,50(4):83 -87.

[5] 基于Matlab 神经网络工具箱的作物需水量预测[J].华北水利水电学院学报,2009,30(1):50 -52.

[6] 刘艳文,王福豹,段滑军,等.基于 DV-Hop 定位算法和 RSSl测距技术的定位系统[J].计算机应用,2007,27(3):15 -18.

[7] 段渭军,黄晓利,王福豹,等.无线传感器网络测距技术的研究[J].计算机科学,2007,34(9):54 -62.

猜你喜欢
测距滤波神经网络
类星体的精准测距
神经网络抑制无线通信干扰探究
浅谈超声波测距
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于PSOC超声测距系统设计
基于支持向量机回归和RBF神经网络的PID整定
相对差分单项测距△DOR