文章快速检索  
  高级检索
基于引力搜索的室内自适应RSSI定位算法
汤健, 陈玮, 陈世平    
上海理工大学光电信息与计算机工程学院, 上海 200093
摘要:针对室内接收信号强度指示(received signal strength indication,RSSI)定位精度较低,无法实现动态跟踪参数变化的问题,将改进的引力搜索算法(GSA)应用于RSSI定位中.先利用极大似然估计得出定位模型的参数,再使用最小二乘法计算估计结果,最后利用引力搜索算法对估计结果和参数进行优化.该算法具有收敛速度快,精度高等优点.实验结果表明,该算法不仅能够提高定位的精度,而且能够实现动态跟踪RSSI定位数学模型中的参数变化,从而提高了其对环境变化的自适应能力.
关键词室内RSSI(received signal strength indication)定位     引力搜索算法     精度     自适应    
Indoor Adaptive RSSI Location Algorithm Based on the Gravitational Search Algorithm
TANG Jian , CHEN Wei, CHEN Shiping     
School of Photoelectric Information and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract:In indoor RSSI localization, precision is low and dynamic tracing of variation in parameters cannot be achieved. Therefore, an improved gravitational search algorithm (GSA) is used for RSSI localization. Obtaining the parameters of the model through maximum likelihood estimation and using the least squares estimate as preliminary results, the GSA is then utilized to optimize the preliminary results and parameters. The algorithm has fast convergence rate, high accuracy, etc. The test results show that the algorithm can not only improve the location accuracy but also dynamically trace the variations in the RSSI-positioning mathematical model's parameters so that the model can adapt to the changes within the environment.
indoor RSSI(received signal strength indication) localization     gravitational search algorithm (GSA)     accuracy     adaptive    

1 引言

近年来,无线传感器网络[1](wireless sensor network,WSN)得到了快速的发展. 由于其具有能耗低、 体积小、 成本低等优势,而被广泛应用于生产、 生活的各个领域. 确定位置信息,始终是无线传感器网络的研究热点之一,也使得WSN定位技术成为了研究的重要内容. 定位算法通常可以分为基于非测距(range-free)和基于测距(range-based)[2, 3]两种,实际应用中,基于测距的算法精度往往更高,从而得到了更广泛的应用.

[4]提出基于图论模糊聚类的室内自适应RSSI定位算法,实时性较好,但是不适用于环境变化较大的情况. 文[5]使用改进的RSSI多维标度定位算法,但是算法前期准备较为复杂. 文[6]提出一种基于区间数聚类的RSSI测距方法,但是无法对参数进行自适应调节. 文[7]提出将卡尔曼滤波算法应用于跟踪定位,但是如果环境较为复杂,偏差将很大,适应环境能力不强.

对无线传感器网络来说,通常是使用基于接收信号强度指示(received signal strength indication,RSSI)来确定位置信息. 此方法主要是依据读取无线网络各节点的RSSI值,再通过建立RSSI值与距离之间的数学模型,以此求得各节点的相对位置,最后通过一些定位算法求取所需节点的位置. 虽然RSSI定位方式实现较为简单,但是在实际操作中,由于无线信号往往会被障碍物吸收、 反射,还会发生多径效应等,因此,传统的RSSI定位精度通常不高.

针对上述问题,将引力搜索算法[8](gravitational search algorithm,GSA)引入RSSI定位方法中. 先用极大似然估计法得到RSSI测距模型的修正参数,求取节点间的相对位置,通过最小二乘法(least square method,LSM)求取所需节点坐标,再通过GSA对LSM的坐标估计结果和参数进行优化,不仅可以提高节点坐标的精度,还可以实现动态跟踪参数变化.

2 RSSI定位模型 2.1 基本RSSI模型的分析

具体研究中,通常使用式(1)所示的RSSI定位模型[4]

A可以看成1 m处的RSSI值; n为路径衰减因子,取值通常为1~4之间; v服从(0,δ2)的高斯分布,表示环境对数学模型的影响程度. 为了更加符合数学中直线的系数关系,此处令a=10n,b=A,得到:

2.2 RSSI定位数学模型参数修正

一般的RSSI定位都是直接将a和b的经验值代入公式进行计算,此方法偏差较大. 若使用若干的RSSI和d值进行最小二乘拟合[10]来求取对应的a和b,需要的数据过多,精度也并不是很好. 这里使用极大似然估计法(maximum likelihood estimation,MLE)进行校正,对于若干个参考节点与盲节点的关系如式(3)所示:

上式表示盲节点与第i个参考节点的RSSI值,距离为di. vi服从均值为0的高斯分布且各个节点之间相互独立. 于是vi=RSSI+a·lndi+b,又由于vi的概率密度分布函数为

其联合密度分布函数为

式中m表示一组已知位置的盲节点与参考节点对应的RSSI值的个数,求取L对数对于a、 b的偏导便可得到

通过极大似然估计法求出的参数能够较好地利用已知信息,提高了求取估计坐标的精度.

3 最小二乘法初步求取估计坐标

将式(6)求解出来的参数代入式(2),通过读取RSSI值求出盲节点和参考节点的相对距离d,使用最小二乘法初步计算出参考节点的估计坐标,可以得到较为精确的位置[11],即式(7):

其中

xi、 yi表示参考节点的横纵坐标,X为初步求得的盲节点估计坐标,它将提供引力搜索算法的搜索范围,减小了算法的误差、 降低了计算机的工作强度.

这样得到的估计坐标在环境不变时可以得到较好的结果. 但实际过程中,环境是不断变化的,因此,通过一些智能算法对估计结果进行优化,提高适应环境的能力,还是很有必要的,这里使用引力搜索算法(GSA)对估算的定位结果进行优化.

4 引力搜索算法优化估计坐标

在一些情况下,环境条件可能发生较大变化,这时由一系列的已知数据而建立的数学模型就已经不再适用,如式(2)中先求取的参数a、 b本身就随着环境剧烈变化,自然就不能将其当成定值来计算出位置信息. 这时,就需要动态整定出参数及位置坐标. 也就是说,前面求取的参数和利用参数求取的坐标只能作为初步估计以提供算法的优化范围.

引力搜索算法是由伊朗的克曼大学教授Rashedi等人提出来的优化算法,使用改进的引力搜索算法对估计坐标进行优化. 设所求的盲节点最终坐标为(x,y),通过式(7)计算出来的估计值为(x′,y′),则x∈(x′-ε,x′+ε),y∈(y′-ε,y′+ε),ε表示自己选取的正数,本文称为调节因子,用来调节优化的范围. 当然,也可以将x和y的取值放大为整个可以取值的区域,这样就不需要使用最小二乘法初步估计,但是增加了计算机的负担,降低了求解的效率. 对最小二乘法的估计结果进行优化大大缩小了优化范围,减小了算法带来的的误差.

对于RSSI定位模型,a∈(-40,-10),b∈(-50,-30). 由于读取出来的RSSI值通常是绝对值,因此,利用RSSI绝对值计算的a、 b均为负数.

在上述x、 y、 a、 b的范围内随机产生N个粒子,第i个粒子的位置为Xi=(x1i,x2i,x3i,x4i),其中x1i、 x2i、 x3i、 x4i分别对应于所要求取的x、 y、 a、 b. 选取的粒子数越多结果越精确,运算量也越大. 使用xdi表示该粒子在第d维上的位置. 在t时刻(也即为第t次迭代),第d维上第i个粒子所受到的总的作用力是其它适应度最大的粒子对其作用力之和,如下式[12]

其中,kbest为适应度最大的粒子集合. randj为[0, 1]间的随机数,Fdij(t)为第j个粒子对第i个粒子在t时刻的作用力,可通过式(9)得到:

其中,Mpi(t)Maj(t)分别是第i个粒子和第j个粒子在t时刻的惯性质量,Rij(t)为此时刻的欧氏距离,β是一个很小的常量,G(t)是此时的引力常数. 通过式(10)得到:

通常G0取100,α取20,T为系统最大迭代次数.

确定了此时作用力之后,依据牛顿第二定律求解此时的加速度:

然后更新速度和位置信息:

另外,惯性质量也需要更新,其与适应度函数的大小相关,意味着惯性质量越大,有越大的吸引力,也越接近所求得的最优值. 其计算方法如下:

其中fitnessi(t)表示此时的适应度大小. 对于求最小值:

可以使用式(19)作为其适应度函数,即:

如此,通过GSA训练出来的最终结果Xm=(x,y,a,b),不仅可以得到较高的定位精度,还能够描述出此时的RSSI模型的参数a、 b. 由于环境的变化的影响是通过参数a、 b表现出来,说明此方法实现了对盲节点坐标和模型参数的动态跟踪变化,a、 b将此种方法称为MLE-LSM-GSA.

5 仿真和实验 5.1 实验准备和数据预处理

实验使用的设备是尚阳公司开发的CC2430[13],实验地点为实验室,试验范围是6m×6m,实验室有非常多的实验设备、桌椅、人员等障碍物,而且实验室电子设备随时开启,可能会有多种电子信号干扰,再加上人员、 设备、 桌椅的频繁移动,可以看作是环境变化的RSSI的定位实验,实验环境如图 1所示.

图 1 实验环境Fig. 1 Experimental environment

系统误差由测试的平均定位误差描述:

式中(x,y)为最后计算得到的盲节点坐标,(xreal,yreal)表示其坐标的实际位置,N为测试次数.

实验参考节点坐标为(0,0)、 (6,0)、 (0,6)、 (6,6)、 (3,0)、 (0,3)、 (6,3)、 (3,6),单位是m. 通过已知的10组盲节点坐标以及发送广播后对应的RSSI值(RSSI值全取绝对值,对应参数为负数),按照MLE可以求得估计参数a=-23.374 5,b=-44.395 7,通过极大似然—最小二乘法(MLE-LSM),极大似然—最小二乘法—引力搜索算法优化(MLE-LSM-GSA)两种算法求取所需的参数、 坐标和误差.

5.2 Matlab仿真与结果分析

为了从理论上说明GSA算法对结果的优化能力和对环境的适应能力,在上述环境条件下进行Matlab仿真. 对环境的干扰进行设置,假设对于式(5)中环境的干扰服从高斯分布(0,δ2),改变δ的值,观察各变量的变化. 本次仿真将盲节点从坐标(5,1)沿直线运动到(1,5),均匀选取运动轨迹中的100个点,每个点采样50次,利用两种方法得到的轨迹,最终求出的a、 b随横坐标的变化及误差的平均值. GSA优化的粒子数N为30个,调节因子取0.2. δ分别取2、 3、 4、 5以模拟环境变化,两种算法得出的结果如图 2~4所示. 各图横坐标均为盲节点沿x轴的坐标变化,图 2中的图(a)、 (b)、 (c)、 (d)分别为δ分别取2、 3、 4、 5时参数a的值,(e)、 (f)、 (g)、 (h)为参数b的值,图 3中的(a)、 (b)、 (c)、 (d)为各位置的平均误差,图 4中的(a)、 (b)、 (c)、 (d)为最终的坐标估计. 表 1给出了δ取不同值时对应的累加均方根误差.

图 2 MLE和MLE-LSM-GSA对参数的估计Fig. 2 The parameters estimation between MLE and MLE-LSM-GSA

图 3 各算法的平均误差分布Fig. 3 The distribution of average error in different algorithms

图 4 各算法的坐标估计Fig. 4 The coordinate estimation by different algorithms

表 1 各算法的累加均方根误差 Tab. 1 The accumulative RMSE(root mean squared error) of different algorithms
算法δ
2345
MLE-LSM0.168 50.299 50.648 61.094 0
MLE-LSM-GSA0.146 30.223 90.383 90.448 4

图 2可以看到,随着位置的变化,参数a、 b也随之改变,实现了参数的动态跟踪,从而使得系统具备了适应环境的能力. 图 3的误差分布清楚地显示了随着δ增大,各算法的误差也有明显增大的趋势,但是从各算法的误差分布情况来看,MLE-LSM-GSA误差增大的幅度明显小于MLE-LSM,保持了较高的精度. 从表 1的累加均方根误差来看就更能说明上述事实,当δ=2时,MLE-LSM-GSA误差仅比MLE-LSM小0.022 2,减少了13.18%,但是随着δ增大,误差的差距越来越大,当δ=5时,MLE-LSM的累加均方根误差达到MLE-LSM-GSA的2.440倍.说明经过GSA优化后不仅提高了原来估计坐标的定位精度,而且对环境变化的适应能力更强. 从图 4中可以直观地看到各算法的定位效果图.

5.3 实际操作结果

选取实验室的10个不同位置,将盲节点放在这10个位置对参考节点发送广播,取出RSSI值,同样通过上述两种不同方法求取其位置. 在不同的时间点将盲节点上述10个位置,测试20次,以模拟环境的变化,得到的结果如表 2表 3所示[9]. 从实际操作的实验结果可以看到经过GSA优化后误差减小,验证了算法的正确性.

表 2 MLE-LSM-GSA对参数的估计 Tab. 2 The parameters estimation of MLE-LSM-GSA
时刻 参数
ab
9-10.000 2-39.084 3
11-19.996 6-36.896 6
13-19.998 1-34.796 8
15-14.878 3-42.233 5
17-17.982 7-40.023 8
19-19.995 2-48.739 4
21-18.222 439.338 7


表 3 各算法的平均误差 Tab. 3 The average error of different algorithms
算法误差
MLE-LSM2.038 9
MLE-LSM-GSA1.214 2

6 结论

实验结果表明,将引力搜索算法应用于RSSI定位算法后,减弱了数学模型对于环境的依赖性,提高了系统自适应能力,从而提高了RSSI定位算法精度.关于如何确定使用GSA中盲节点位置的搜索范围以使得定位精度更高,仍然值得进一步研究.此外,使用GSA时也有可能会陷入局部最小值,因此,将GSA算法引入RSSI定位中,如何规避局部最小值,仍然是值得研究的重要课题.

参考文献
[1] Wang F B, Shi L, Ren F Y. Self-location systems and algorithms for wireless sensor networks[J]. Journal of Software, 2005, 16(5): 857-868.
[2] He T, Huang C D, Blum B M, et al. Range-free localization schemes in large scale sensor networks[C]//Proceedings of the Ninth Annual International Conference on Mobile Computing and Networking. New York, USA: ACM, 2003: 81-95.
[3] 林金朝, 陈晓冰, 刘海波. 基于平均跳距修正的无线传感器网络节点迭代定位算法[J]. 通信学报, 2009, 30(10): 107-113. Lin J C, Chen X B, Liu H B. Iterative algorithm for locating nodes in WSN based on modifying average hopping distances[J]. Journal on Communications, 2009, 30(10): 107-113. [4] 高鹏, 石为人, 周伟, 等. 基于图论模糊聚类的室内自适应RSSI定位算法[J]. 仪器仪表学报, 2013, 34(9): 1998-2004. Gao P, Shi W R, Zhou W, et al. Indoor adaptive RSSI localization algorithm based on graph theory and fuzzy clustering in wireless sensor networks[J]. Chinese Journal of Scientific Instrument, 2013, 34(9): 1998-2004.
[5] 石欣, 印爱民, 陈曦. 基于RSSI的多维标度室内定位算法[J]. 仪器仪表学报, 2014, 35(2): 261-268. Shi X, Yin A M, Chen X. RSSI and multidimensional scaling based indoor localization algorithm[J]. Chinese Journal of Scientific Instrument, 2014, 35(2): 261-268.
[6] 彭宇, 罗清华, 王丹, 等. 一种基于区间数聚类的RSSI-D估计方法[J]. 仪器仪表学报, 2012, 33(3): 491-498. Peng Y, Luo Q H, Wang D, et al. WSNs distance estimation method with RSSI-D using interval data clustering algorithm[J]. Chinese Journal of Scientific Instrument, 2012, 33(3): 491-498.
[7] Caceres M A, Sottile F, Spirito M A. Adaptive location tracking by Kalman filter in wireless sensor networks[C]//Proceedings of the 5th IEEE International Conference on Wireless and Mobile Computing Networking and Communication. Piscataway, NJ, USA: IEEE, 2009: 123-128.
[8] Rashedi E, Nezamabadi-pour H, Saryazdi S. GSA: A gravitational search algorithm[J]. Information Sciences, 2009, 179(13): 2232-2248.
[9] 刘颖, 苏俊峰, 朱明强. 基于迭代容积粒子滤波的蒙特卡洛定位算法[J]. 信息与控制, 2012, 42(5): 632-638. Liu Y, Su J F, Zhu M Q. A Monte-Carlo localization algorithm based on iterated cubature particle filter[J]. Information and Control, 2012, 42(5): 632-638.
[10] Sun P G, Zhao H, Luo D D, et al. Research on RSSI-based location in smart space[J]. Acta Electronica Sinica, 2007, 35(7): 1240-1245.
[11] Niculescu D S, Nath B. Localized positioning in ad hoc network[C]//Proceedings of the 1st IEEE International Workshop on Sensor Network Protocols and Applications. Piscataway, NJ, USA: IEEE, 2002: 42-44.
[12] 徐遥, 王士同. 引力搜索算法的改进[J]. 计算机工程与应用, 2011, 47(35): 188-192. Xu Y, Wang S T. Enhanced version of gravitational search algorithm: Weighted GSA[J]. Computer Engineering and Applications, 2011, 47(35): 188-192.
[13] 刘颖, 苏军峰, 朱明强. 基于平方根容积卡尔曼滤波的RSSI定位参数估计算法[J]. 系统仿真学报, 2014, 26(1): 119-124. Liu Y, Su J F, Zhu M Q. Received signal strength indicator parameter estimation algorithm based on square-root cubature Kalman filter[J]. Journal of System Simulation, 2014, 26(1): 119-124.
http://dx.doi.org/10.13976/j.cnki.xk.2015.0367
中国科学院主管,中国科学院沈阳自动化研究所、中国自动化学会共同主办。
0

文章信息

汤健, 陈玮, 陈世平
TANG Jian, CHEN Wei, CHEN Shiping
基于引力搜索的室内自适应RSSI定位算法
Indoor Adaptive RSSI Location Algorithm Based on the Gravitational Search Algorithm
信息与控制, 2015, 44(3): 367-371,384.
INFORMATION AND CONTROL, 2015, 44(3): 367-371,384.
http://dx.doi.org/10.13976/j.cnki.xk.2015.0367

文章历史

收稿日期:2014-04-21
录用日期:2014-06-30
修回日期:2014-07-10

工作空间