基于RSSI的节点定位算法的研究
黄海松 卞国龙
摘 要: 在无线传感器网络的节点定位中,原RSSI定位算法利用接收信号强度的对数正态模型,其存在计算量大、功耗大等问题。由于物体运动不会突变,可以利用以前的轨迹与速度,预测当前时刻的位置信息,采用改进的神经网络算法,对当前时刻的位置做了很好的预测。实验结果表明,该算法与传统的RSSI算法相比,减小了采样范围,提高了定位精度,降低了无线传感系统的功耗。
关键词: 节点定位算法; 衰减模型; 算法优化; 模糊控制; 神经网络
中图分类号: TN915?34; TP393; TN711?34 文献标识码: A 文章编号: 1004?373X(2017)10?0086?04
Abstract: In the node localization algorithm of wireless sensor networks, the original RSSI location algorithm uses the lognormal model of the received signal strength, which has the problems of large amount of computation and large power consumption. Because the motion of the object does not change suddenly, it can be used to predict the position at the current time by using the previous track and speed. The improved neural network algorithm is adopted to predict the position at the current time. The experimental results show that the proposed algorithm can reduce the sampling range, improve the positioning accuracy and decrease the power consumption of the system, compared with the traditional RSSI algorithm.
Keywords: node localization algorithm; attenuation model; algorithm optimization; fuzzy control; neural network
在无线传感器网络技术中,定位技术是重要的组成部分,在其应用领域内,事件发生的位置信息是传感器节点监测消息中的重要信息,沒有节点的位置信息的感知数据是毫无实际意义的[1]。BP神经网络以其独特的自组织和自学习能力,快速准确的实时处理性,在许多应用领域有较好的前景,在定位算法领域中有明显优点。
1 RSSI测距算法
1.1 RSSI测距基本原理
信号的接收强度和传输距离之间的关系可以用式(1)表示,常数A和n的值决定了信号接收强度和传输距离的关系。参数A为距参考节点1 m时收到信号平均能量值,单位为dBm;参数n为路径损耗系数,其大小取决于信号的传播环境。接收信号强度的衰减RSSI与d成比例[2],理想环境下,信号的长期衰落服从对数正态分布:
[RSSI=A-10nlgd] (1)
式中:RSSI为接收信号强度;d为节点之间的距离;n为路径损耗系数。
1.2 定位信号衰减模型
利用RSSI算法进行定位,当传输距离较近时,功率衰减较快,而传输距离越远,信号衰减越慢[3]。所以用RSSI定位,距离越近,定位越准确;距离越远,定位误差越大。在实际传输过程中,多径现象,信号被障碍物吸收或者发生反射和衍射。这时可以采用不规则无线电传输模型来模拟应用环境,该模型在不同方向的路径损耗不同,所以需要对由式(1)的距离d优化。图1为原RSSI模型和实际测试条件下RSSI值的比较。由图1的曲线变化可以看出, 实际到达接收端的信号损耗值与传输距离呈现出明显的衰落变化, 并非平滑的曲线。
2 定位算法的优化
2.1 原始数据处理
直接通过RSSI值估算移动节点与参考节点的距离有较大误差,主要原因是室内环境存在多径效应。利用信号强度进行定位,需要对原始的RSSI数据做一定的滤波,才能相应地提高定位精度。
由于考虑到软件运行的流畅性以及定位的实时性,选择复杂程度不高的中位值递推平均滤波法;考虑到移动端上定位算法的执行速度和程序所占空间的大小,在实际操作中,采集5个单位长度的RSSI队列,每次采样把新到的一个数据放在队尾,并去掉队首原来的数据[4],在剩下5个数据中去掉一个最小值和一个最大值,然后计算其余3个数据的平均值,如下:
2.2 RSSI的模糊控制优化
由模糊控制理论可以计算出RSSI与各个移动节点的贴合程度,建立不同参数的模糊分布参数,对“距离?损耗”模型改进,可较准确地计算出移动节点的位置信息[5]。设RSSI值偏差值为[e],偏差变化为[ec],输出控制量为[u]。设三者的上下线分别如下:[eL=-120 dB,eH=-20 dB,]
基于模糊控制的思想,优化的主要任务是将接收到的RSSI特征信息组成的模式与实际的位置模式进行匹配来确定移动点最可能的具体位置。在本次优化中采用模糊控制算法对RSSI值进行修正,通过对参数和规则自校正后明显提升了响应速度和对RSSI值的优化,为通过神经网络进一步精确计算RSSI值打下了基础。
2.3 基于BP网络的优化设计
BP神经网络是前馈网络,通过反向传播不断调整权值以及阈值,使误差最小,确定神经网络的输入层为5个场强强度,输出层为5个修正后的场强强度。各层神经元数、隐含层的个数以及训练函数和激励函数的选择都是需要确定的参数[6]。目前没有准确的理论指导,要通过实验调节模型中的各个参数,已达到较好的定位效果。如图3所示。首先用RSSI 室内定位系统在实际环境中测得大量参考标签的场强和对应距离。在调节实验效果时,首先假设隐含层的节点数,根据经验本仿真固定隐含层节点个数为14个。逐步调节隐含层的层数,观察隐含层的实验效果,结果发现隐含层为1层就可以达到实验效果。而且1层网络训练时间短、结构简单,所以确定隐含层的层数为1层。
定位的精度决定于RSSI值的质量,在实际测量过程中,5个参数一起反馈作用于定位精度,借助BP网络,提高转换过程中的容错能力。网络共设计三层,输入层5个节点、输出层5个节点,设输入量为(RSSI1,RSSI2,RSSI3,RSSI4,RSSI5),其中,RSSIi表示的是环境下的移动节点收到的RSSI值,那么输入向量设为:
BP神经网络经过反复的自主学习和训练,当误差[E≤0.000 000 1]时,BP网络增强了定位过程的可靠性,借助于BP神经网络的自学习能力和自组织能力对函数及推理进行优化,可以达到优化BP神经网络及模糊控制各自的优点,弥补对方不足[7]。
3 测试与性能分析
3.1 算法的优化分析
表2是对误差函数在隐含层神经元个数从12~19依次增加时的统计结果,数据中预测的函数与实际函数曲线的相对误差的最大值并做比为最大相对误差。观察实验的优化效果后得出隐含层为17个节点时神经网络训练的实验效果最好,所以神经网络模型采用5∶17∶5的网络结构[8]。
由图6分析移动速度对定位误差的影响,可知,节点速度增大使节点的下一位置的可能分布区增大,误差增大[9]。当速度为2 m/s时,定位误差最小,当速度继续增大时,定位误差也会增大。基于神经网络算法的定位误差虽然也有变化,但可以大幅度提高定位的准确性[10]。
3.3 不同环境下定位误差
实验区域为30 m×30 m,参考节点数为7,通信半径R为15 m,移动节点随机移动。比较两种不同算法在不同环境下的定位误差,实验结果如图7所示,为不同的信道环境下的误差结果。
4 结 语
本文利用神经网络进行室内定位可以取得更好的定位精度。针对现有的RSSI室内定位算法的不足,将BP神经网络引入定位方法中,通过训练BP神经网络,结合实际得到了较好的定位效果。本文中采用优化的BP算法使均方根误差趋向最小, 直到达到定位的精度要求。但在实际中, 存在收敛速度慢、局部极值等问题[12]。本文选择一种修正后的BP神经网络算法,实验结果表明,改进后的神经算法在没有增加硬件的情况下,明显提高了算法的定位精度,较好地解决了原算法的问题。BP 神经网络的隐含层作用机理和隐含层节点个数的选择是BP神经网络的难点,隐含层的节点个数的选择需反复进行试验, 当多次输出结果在误差允许的范围内才可确定。
注:本文通讯作者为卞国龙。
参考文献
[1] WU S Q, ER M J. Dynamic fuzzy neural networks?a novel approach to function approximation [J]. IEEE transactions on systems, man, and cybernetics, Part B, 2000, 30(2): 358?364.
[2] 黄海辉,李龙连.WSN中一种基于RSSI的移动节点改进定位算法[J].电子技术应用,2015(1):86?89.
[3] WANG Shuxin,YUN Jintian,ZHANG Zhifei. Modeling and compensation technique for the geometric errors of five?axis CNC machine tools [J]. Chinese journal of mechanical engineering, 2003, 16(2): 197?201.
[4] DOHERTY L, PISTER K S, GHAOUI L E. Convex position estimation in wireless sensor netw orks [C]// Proceedings of the IEEE 2001 INFOCOM. Anchorage, Alaska: IEEE Computer and Communications Societ ies, 2001: 1655?1663.
[5] Theodore S Rappaport.Wireless communications:Principles and practice [M]. 2nd ed. Prentice Hall PTR,2001.
[6] 孙凤,施伟斌,黄灵凤.基于无线传感器网络的室内定位技术的研究[J].电子技术应用,2013(10):80?83.
[7] HE Tian, HUANG Chengdu, BLUM B M, et al. Range?free localization schemes for large scale sensor networks [C]// Proceedings of the 9th Annual International Conference on Mobile Computing and Networking. San Diego, CA, USA: CAM, 2003: 81?95.
[8] 朱明辉,张会清.基于RSSI的室内无线网络定位技术研究[J].现代电子技术,2010,33(17):45?48.
[9] HUIRCAN J I, MUNOZ C, HECTOR Y, et al. ZigBee?based wireless sensor network localization for cattle monitoring in grazing fields [J]. Computers and electronics in agriculture, 2010, 74: 258?264.
[10] 郝维来,白洁.基于RSSI的煤矿井下人员定位系统研究[J].现代电子技术,2016,39(4):48?50.
[11] 陈桂忠,董利达.基于位姿评估的无线传感器网络自主移动节点定位技术[J].电子学报,2008(12):2428?2432.
[12] VO D M N, VO D, CHALLA S, et al. Nonmetric MDS for sensor localization [C]// Proc of the 3rd International Symposium on Wireless Pervasive Computing. [S.l. : s.n.], 2008: 396?400.
摘 要: 在无线传感器网络的节点定位中,原RSSI定位算法利用接收信号强度的对数正态模型,其存在计算量大、功耗大等问题。由于物体运动不会突变,可以利用以前的轨迹与速度,预测当前时刻的位置信息,采用改进的神经网络算法,对当前时刻的位置做了很好的预测。实验结果表明,该算法与传统的RSSI算法相比,减小了采样范围,提高了定位精度,降低了无线传感系统的功耗。
关键词: 节点定位算法; 衰减模型; 算法优化; 模糊控制; 神经网络
中图分类号: TN915?34; TP393; TN711?34 文献标识码: A 文章编号: 1004?373X(2017)10?0086?04
Abstract: In the node localization algorithm of wireless sensor networks, the original RSSI location algorithm uses the lognormal model of the received signal strength, which has the problems of large amount of computation and large power consumption. Because the motion of the object does not change suddenly, it can be used to predict the position at the current time by using the previous track and speed. The improved neural network algorithm is adopted to predict the position at the current time. The experimental results show that the proposed algorithm can reduce the sampling range, improve the positioning accuracy and decrease the power consumption of the system, compared with the traditional RSSI algorithm.
Keywords: node localization algorithm; attenuation model; algorithm optimization; fuzzy control; neural network
在无线传感器网络技术中,定位技术是重要的组成部分,在其应用领域内,事件发生的位置信息是传感器节点监测消息中的重要信息,沒有节点的位置信息的感知数据是毫无实际意义的[1]。BP神经网络以其独特的自组织和自学习能力,快速准确的实时处理性,在许多应用领域有较好的前景,在定位算法领域中有明显优点。
1 RSSI测距算法
1.1 RSSI测距基本原理
信号的接收强度和传输距离之间的关系可以用式(1)表示,常数A和n的值决定了信号接收强度和传输距离的关系。参数A为距参考节点1 m时收到信号平均能量值,单位为dBm;参数n为路径损耗系数,其大小取决于信号的传播环境。接收信号强度的衰减RSSI与d成比例[2],理想环境下,信号的长期衰落服从对数正态分布:
[RSSI=A-10nlgd] (1)
式中:RSSI为接收信号强度;d为节点之间的距离;n为路径损耗系数。
1.2 定位信号衰减模型
利用RSSI算法进行定位,当传输距离较近时,功率衰减较快,而传输距离越远,信号衰减越慢[3]。所以用RSSI定位,距离越近,定位越准确;距离越远,定位误差越大。在实际传输过程中,多径现象,信号被障碍物吸收或者发生反射和衍射。这时可以采用不规则无线电传输模型来模拟应用环境,该模型在不同方向的路径损耗不同,所以需要对由式(1)的距离d优化。图1为原RSSI模型和实际测试条件下RSSI值的比较。由图1的曲线变化可以看出, 实际到达接收端的信号损耗值与传输距离呈现出明显的衰落变化, 并非平滑的曲线。
2 定位算法的优化
2.1 原始数据处理
直接通过RSSI值估算移动节点与参考节点的距离有较大误差,主要原因是室内环境存在多径效应。利用信号强度进行定位,需要对原始的RSSI数据做一定的滤波,才能相应地提高定位精度。
由于考虑到软件运行的流畅性以及定位的实时性,选择复杂程度不高的中位值递推平均滤波法;考虑到移动端上定位算法的执行速度和程序所占空间的大小,在实际操作中,采集5个单位长度的RSSI队列,每次采样把新到的一个数据放在队尾,并去掉队首原来的数据[4],在剩下5个数据中去掉一个最小值和一个最大值,然后计算其余3个数据的平均值,如下:
2.2 RSSI的模糊控制优化
由模糊控制理论可以计算出RSSI与各个移动节点的贴合程度,建立不同参数的模糊分布参数,对“距离?损耗”模型改进,可较准确地计算出移动节点的位置信息[5]。设RSSI值偏差值为[e],偏差变化为[ec],输出控制量为[u]。设三者的上下线分别如下:[eL=-120 dB,eH=-20 dB,]
基于模糊控制的思想,优化的主要任务是将接收到的RSSI特征信息组成的模式与实际的位置模式进行匹配来确定移动点最可能的具体位置。在本次优化中采用模糊控制算法对RSSI值进行修正,通过对参数和规则自校正后明显提升了响应速度和对RSSI值的优化,为通过神经网络进一步精确计算RSSI值打下了基础。
2.3 基于BP网络的优化设计
BP神经网络是前馈网络,通过反向传播不断调整权值以及阈值,使误差最小,确定神经网络的输入层为5个场强强度,输出层为5个修正后的场强强度。各层神经元数、隐含层的个数以及训练函数和激励函数的选择都是需要确定的参数[6]。目前没有准确的理论指导,要通过实验调节模型中的各个参数,已达到较好的定位效果。如图3所示。首先用RSSI 室内定位系统在实际环境中测得大量参考标签的场强和对应距离。在调节实验效果时,首先假设隐含层的节点数,根据经验本仿真固定隐含层节点个数为14个。逐步调节隐含层的层数,观察隐含层的实验效果,结果发现隐含层为1层就可以达到实验效果。而且1层网络训练时间短、结构简单,所以确定隐含层的层数为1层。
定位的精度决定于RSSI值的质量,在实际测量过程中,5个参数一起反馈作用于定位精度,借助BP网络,提高转换过程中的容错能力。网络共设计三层,输入层5个节点、输出层5个节点,设输入量为(RSSI1,RSSI2,RSSI3,RSSI4,RSSI5),其中,RSSIi表示的是环境下的移动节点收到的RSSI值,那么输入向量设为:
BP神经网络经过反复的自主学习和训练,当误差[E≤0.000 000 1]时,BP网络增强了定位过程的可靠性,借助于BP神经网络的自学习能力和自组织能力对函数及推理进行优化,可以达到优化BP神经网络及模糊控制各自的优点,弥补对方不足[7]。
3 测试与性能分析
3.1 算法的优化分析
表2是对误差函数在隐含层神经元个数从12~19依次增加时的统计结果,数据中预测的函数与实际函数曲线的相对误差的最大值并做比为最大相对误差。观察实验的优化效果后得出隐含层为17个节点时神经网络训练的实验效果最好,所以神经网络模型采用5∶17∶5的网络结构[8]。
由图6分析移动速度对定位误差的影响,可知,节点速度增大使节点的下一位置的可能分布区增大,误差增大[9]。当速度为2 m/s时,定位误差最小,当速度继续增大时,定位误差也会增大。基于神经网络算法的定位误差虽然也有变化,但可以大幅度提高定位的准确性[10]。
3.3 不同环境下定位误差
实验区域为30 m×30 m,参考节点数为7,通信半径R为15 m,移动节点随机移动。比较两种不同算法在不同环境下的定位误差,实验结果如图7所示,为不同的信道环境下的误差结果。
4 结 语
本文利用神经网络进行室内定位可以取得更好的定位精度。针对现有的RSSI室内定位算法的不足,将BP神经网络引入定位方法中,通过训练BP神经网络,结合实际得到了较好的定位效果。本文中采用优化的BP算法使均方根误差趋向最小, 直到达到定位的精度要求。但在实际中, 存在收敛速度慢、局部极值等问题[12]。本文选择一种修正后的BP神经网络算法,实验结果表明,改进后的神经算法在没有增加硬件的情况下,明显提高了算法的定位精度,较好地解决了原算法的问题。BP 神经网络的隐含层作用机理和隐含层节点个数的选择是BP神经网络的难点,隐含层的节点个数的选择需反复进行试验, 当多次输出结果在误差允许的范围内才可确定。
注:本文通讯作者为卞国龙。
参考文献
[1] WU S Q, ER M J. Dynamic fuzzy neural networks?a novel approach to function approximation [J]. IEEE transactions on systems, man, and cybernetics, Part B, 2000, 30(2): 358?364.
[2] 黄海辉,李龙连.WSN中一种基于RSSI的移动节点改进定位算法[J].电子技术应用,2015(1):86?89.
[3] WANG Shuxin,YUN Jintian,ZHANG Zhifei. Modeling and compensation technique for the geometric errors of five?axis CNC machine tools [J]. Chinese journal of mechanical engineering, 2003, 16(2): 197?201.
[4] DOHERTY L, PISTER K S, GHAOUI L E. Convex position estimation in wireless sensor netw orks [C]// Proceedings of the IEEE 2001 INFOCOM. Anchorage, Alaska: IEEE Computer and Communications Societ ies, 2001: 1655?1663.
[5] Theodore S Rappaport.Wireless communications:Principles and practice [M]. 2nd ed. Prentice Hall PTR,2001.
[6] 孙凤,施伟斌,黄灵凤.基于无线传感器网络的室内定位技术的研究[J].电子技术应用,2013(10):80?83.
[7] HE Tian, HUANG Chengdu, BLUM B M, et al. Range?free localization schemes for large scale sensor networks [C]// Proceedings of the 9th Annual International Conference on Mobile Computing and Networking. San Diego, CA, USA: CAM, 2003: 81?95.
[8] 朱明辉,张会清.基于RSSI的室内无线网络定位技术研究[J].现代电子技术,2010,33(17):45?48.
[9] HUIRCAN J I, MUNOZ C, HECTOR Y, et al. ZigBee?based wireless sensor network localization for cattle monitoring in grazing fields [J]. Computers and electronics in agriculture, 2010, 74: 258?264.
[10] 郝维来,白洁.基于RSSI的煤矿井下人员定位系统研究[J].现代电子技术,2016,39(4):48?50.
[11] 陈桂忠,董利达.基于位姿评估的无线传感器网络自主移动节点定位技术[J].电子学报,2008(12):2428?2432.
[12] VO D M N, VO D, CHALLA S, et al. Nonmetric MDS for sensor localization [C]// Proc of the 3rd International Symposium on Wireless Pervasive Computing. [S.l. : s.n.], 2008: 396?400.