无线传感器网络中基于RSSI的节点距离预测
3 BP网络模型的建立
以限幅滤波后的数据作为训练样本。以RSSI作为输入,以距离作为输出,一般的预测问题通过单隐层的BP网络实现,这里也是单隐层。
(1)数据归一化处理
为了在Matlab中计算方便,需要对数据进行归一化处理。这里根据现有的数据情况,分别对输入和输出量进行归一化处理。归一化的代码如下:
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t)
其中p为输入变量,t为输出变量。
(2)BP网络训练
网络中间层的神经元传递函数采用S型的正切函数logsig,输出层神经元传递函数采用线性函数purelin,采用traingdx函数进行训练,当训练141次后达到0.01的误差要求。
4 模型预测结果及与经验公式值的比较
为了验证测试结果的可靠性,根据网络训练的结果,把测试结果与真实值进行对比。为了突出该方法的优越性,与经验公式计算出来的距离值进行比较。表1为模型预测值、经验公式值与真实值的比较。本文引用地址:https://www.eepw.com.cn/article/161414.htm
由表1可以得出,由BP神经网络模型预测的距离值与经验公式计算出来的距离值相比,整体误差较小。经验公式计算的距离误差最大为2.7351m,最小误差为0.5338m,而由模型预测的距离误差最大为0.7976m,最小误差为0.0232m,测距的精度明显提高了很多。
5 结论
BP神经网络具有很强的自学习、自组织及自适应能力,具有高度非线性函数映射功能,通过对样本的预处理,可以提高训练结果的精度。因此,样本的好坏直接影响训练结果。节点RSSI值的随机性较大,会随着环境及其他干扰的影响发生突变。因此先对RSSI值进行滤波处理,滤掉突变的数据再进行网络的训练,预测结果就能达到较理想的水平。这适用于不同的场合,提高了测距精度,从而进行精确定位。
评论