基于RSSI的室内定位关键技术研究

2017-09-08 17:51申晓龙申晓凤
物联网技术 2017年8期

申晓龙+申晓凤

摘 要:由于低功耗蓝牙技术具有极低的运行功耗,因此基于低功耗蓝牙网络的定位技术得到了广大学者的关注。为了解决基于接收信号强度指示法定位误差较大的问题,文中对低功耗蓝牙定位技术进行了研究,提出了一种优化的基于RSSI测距定位算法。该算法不同于传统的质心定位算法之处是加入了动态损耗因子校准模型。该算法首先动态获取不同时间段内的路径损耗因子,然后在定位阶段通过判断系统目前所处的时间段来动态加载不同的路径损耗因子。通过时间段的不同动态使用不同的损耗因子参与定位计算更符合实际情况,使测距定位更加准确。实验表明,该方案与传统的RSSI定位方案相比,在定位精度方面得到了明显提高。

关键词:损耗因子;低功耗蓝牙技术;质心定位算法;RSSI;节点定位

中图分类号:TP39;TN911.22 文献标识码:A 文章编号:2095-1302(2017)08-00-03

0 引 言

近年来,随着人们对位置服务需求的增长,物联网技术的成熟以及低功耗蓝牙技术的问世,使得基于低功耗蓝牙接收信号强度指示的室内定位技术成为了广大学者的研究热点,应用前景十分广阔[1]。

目前蓝牙无线传感器网络主要有两种定位方式,即基于测距的定位技术(Range-Base)和距离无关的定位技术(Range-Free)[2,3]。其中无需进行测距的定位算法主要有质心算法、DV-Hop算法、Amorphous定位算法和APIT算法等[4]。这些定位算法无需进行实时的距离测算,只是用来粗略估算未知节点的位置,因此定位精度并不高。而基于距离的定位算法主要有三边定位法、TOA、TDOA和接收信号强度(Received Signal Strength Indicator,RSSI)指示法。其中基于信号传播时间和时间差法对硬件要求较高[5-7],而基于RSSI的定位算法對硬件却没有太高要求,只需发射端发送信号,接收端利用接收到的信号强度值,通过滤波去噪处理后,代入信号传播模型就可推导出接收端与发射端的距离,实现较简单。因此通常使用基于RSSI的指示法进行无线网络定位。

但是目前基于RSSI的定位算法在测量误差和定位精度上还存在很多问题,这主要是由于室内环境复杂,人员流动,以及各种障碍物的遮挡造成信号在传播过程中形成的多径、衍射现象,严重影响了定位精度[8-11]。

针对以上问题,本文对信号传播模型进行了研究,提出了一种改进的路径损耗因子计算法,然后结合三边测量法和质心法对未知节点进行了定位。

1 定位算法模型

1.1 信号衰减模型

蓝牙无线信号在空中传播时,通常都会随着传输距离的增加而信号强度逐渐减弱[12]。大量实验表明,蓝牙信号强度值大小与距离之间满足对数-常态分布经验模型,表达式如下:

(1)

其中,RSSI(d)代表传输距离为d时,接收端接收到的信号强度值;A为一固定值;n为路径损耗因子,由公式(1)可得:

(2)

在得到距离信号传播模型后,还不能直接将其用于测距运算。从公式(2)中可以看出,利用该公式进行距离计算时,影响测距的准确性因素除了依赖于目标节点接收到的信号强度值是否准确外,还依赖于路径损耗因子n。对于路径损耗因子的获取,一种做法就是通过以往的经验,选取一个经验值。这样做比较简单,但通常会带来很大的误差。即使在相同环境下,路径损耗值也不是固定不变的。

1.2 路径损耗因子分析

为了研究不同的损耗因子对RSSI-d关系式的影响,本文首先假设固定参数A为45,则由公式(2)可得不同损耗因子的RSSI-d关系式。路径损耗因子分析如图1所示。

从图1中可以看出,即使损耗因子的变化幅度不大,但还会直接影响RSSI-d关系图形。且随着距离的增加,对接收的信号强度影响会逐渐增大,此时若目标节点接收到某一信号强度值后,可根据这几个不同的损耗因子进行距离计算,但得出的距离相差很大,因此应该合理选取损耗因子n,以使误差降到最小。而为了使定位误差降低,可以多次计算路径损耗因子,然后求其均值。损耗因子计算方法见式(3):

(3)

其中,k为高度相似环境中的未知节点个数,i为第i个参考节点,dij代表第i个参考节点与第j个未知节点之间的距离。

1.3 质心定位算法

由Nirupama Bulusu 等人提出的质心定位算法是一种基于连接性的定位算法,无需距离信息就可进行简单的定位,实现比较简单[13]。算法原理:信标点周期性的向四周发射自己的位置信息和可唯一标识自身的标识符。被定位节点不断搜索附近不同的信标点,当收到不同的信标点数量达到某一阈值K后,就通过K个锚节点确定自身的位置。假设未知节点的坐标为 (x, y),这K个锚节点的坐标分别为(x1, y1),(x2, y2),…,(xk, yk),假设K=3,则利用质心算法可得未知节点的坐标为:

(4)

通过公式(4)可知,知道三个已知节点的坐标就可对一个未知节点进行定位处理。该方法实现简单,但误差较大。原因在于这种方法并未考虑未知节点处周围区域的RSSI值真实分布情况[14-16],实际上每个顶点信息对定位精度带来的影响未必相同。即未知节点所发射的信号在三个已知节点处形成的信号强度值未必相同,如果只是简单的对三个已知节点作平均处理,当未知节点所发射的信号在各已知节点处形成的信号强度值方差相差很大时,就会导致较大的定位误差[17,18]。

2 改进的定位算法模型

2.1 改进的路径损耗因子处理法

由上述描述可知,损耗因子对测距的影响程度随着距离的增加其影响程度会越来越大,因此选择合适的损耗因子至关重要。而由于实际的室内环境复杂多变,损耗因子会根据不同的环境动态变化,即使在相同的环境中,在不同的时间段内,也有可能因为人员流动的较大差异,造成损耗因子在不同时间段内表现出很大波动性。为了提高基于RSSI的室内测距定位精度,损耗因子的选取不能仅凭经验,还需要在同一环境中对损耗因子-时间关系进行试验分析。endprint

具体过程为:首先需要对信标节点进行信号连续采样,采样时间间隔为5 s,采样距离设为2 m,采样器对同一蓝牙信标节点在同一地点不断进行信号采样分析,每一整天为一次完整的采样,经过多次完整的实验后,对采样后的数据进行整理,结果如图2所示。

由图2可知,信标节点由于受不同时间段内室内人员流动差异性的影响,其信号衰减因子并不严格相同,而且随着时间的变化出现了一定波动。其中在8∶00~10∶00,11∶00~12∶00时间段变化比较明显,而这也符合该时间段内宿舍大厅人员流动性的规律。此时,若再使用一成不变的损耗因子就会造成一定的误差。为了解决这一问题,本文提出了动态变化的实时路径损耗因子算法。

获得损耗因子动态变化曲线图后,分析其变化趋势。根据时间间隔把路径损耗因子变化图分成多个小段,再把每个小时间段开始时的损耗因子和该时间段结束时的损耗因子做均值处理,以该均值代表该时间段内的损耗因子并参与计算。

2.2 基于RSSI的质心定位算法

针对传统质心定位法的不足,现把RSSI数据考虑进去,把基于测距的定位技术与无需测距的定位技术相结合。具体过程为:假设三个信标节点为O1,O2和O3,未知节点收到这三个信标节点RSSI值后,通过公式(2)可求得三个已知信标节点到未知节点的距离。假设分别为d1,d2,d3,以O1,O2和O3为圆心,d1,d2和d3为半径画圆,交点即为未知节点的位置,其关系式见式(5):

(5)

理想情况下,根据公式(5)即可求得未知节点的坐标,但实际上,由于环境的复杂性和人为因素影响的存在,上式求得的距离d1,d2和d3并不能真实的反映未知节点与信标节点之间的真实距离。因此通常公式(5)并不会相交于一点,而是三个圆两两相交形成一个重叠区域。三边测量法如图3所示。

最后利用公式(4)即可求得未知节点的坐标。

3 算法流程

由上述对改进的质心定位算法的描述可知,该算法的基本流程可分为两部分:首先要确定未知节点在理想情况下的粗略位置区域,然后再对该区域进行二次划分,实现过程如下所示:

(1)信标节点周期性的向四周发射位置信息和能唯一标示自身的标示符信息。

(2)被定位节点接收并记录同一信标节点的多个RSSI值,当接收到的RSSI值个数达到某一阈值后,准备扫描接收下一个信标节点的数据,同时对接收到的RSSI数据进行平均滤波处理,剔除那些由脉冲干扰造成的极大值和极小值,记录均值滤波处理后的RSSI值数据,然后根据公式(2)推导出距离 (i为信标节点的个数)。

(3)被定位节点不断掃描周围的信标节点,当收到信标节点的数量大于3后则停止扫描,利用公式(6)求M,N,K三点的坐标。

(4)获得M,N,K三点的坐标后,通过质心定位算法,利用公式(4)即可求得未知节点的最终位置。

4 实验与仿真

为了验证本文所提出的定位算法的可行性,本文使用Matlab进行了大量实验仿真,并以实验室大厅为实际测试地点,范围为9.5 m×13.5 m。然后在此区域内均匀部署25个信标节点,让终端待定位目标节点置于其中,在此区域的不同位置处来测试系统的定位精度。

为了验证本文提出的动态损耗因子模型算法的有效性,本文首先对基于动态损耗因子的非自由传播模型和常规的非自由传播模型进行测距对比试验。在每个时间点都对两者进行对比,在每个时间点采集60次样本数据,然后以这60次实验的均值误差代表该时间点的定位误差。试验结果如图4所示。

从图4中可以看出,基于动态损耗因子的对数-常态分布经验模型可有效提高采样的准确性。该动态模型能够根据一天当中人员流动的分布情况,动态加载不同的损耗因子参与计算。而固定损耗因子法则不能体现出这一动态变化的情况,由于在8∶00~10∶00,11∶00~12∶00时间段内人员流动的剧烈干扰,会产生较大的误差。

本文对结合了动态损耗因子法的质心算法与传统质心法进行对比,实验结果如图5所示。

从图5中可以看出,结合了动态损耗因子的改进质心算法能够很好地契合真实的实际位置。两种算法的误差实验结果如图6所示。

从图6中可以看出,总体上改进的质心定位算法要优于传统的质心定位算法。相比传统的质心定位算法,本文提出的改进的质心定位算法使定位精度约提高了18%。

5 结 语

本文提出了一种基于RSSI的室内定位技术,该技术使用多个信标节点对目标节点进行定位。多个信标节点向四周不间断的发射信号,终端设备首先扫描获取信号强度值最大的三个信标节点,然后对信号进行滤波处理。最后使用基于动态损耗因子的质心定位算法对目标进行定位显示。实验表明改进的定位算法模型能够有效消除环境内因损耗因子的不断变化对定位造成的影响,更加符合实际情况。因此本系统提出的基于RSSI的动态损耗因子模型具有广泛的应用场景。

参考文献

[1]欧阳骏,陈子龙,黄宁淋.蓝牙4.0BLE开发完全手册:物联网开发技术实践[M]北京:化学工业出版社, 2013.

[2] Jun Luo. Range error correction in RSSI-based wireless sensor node localization[C].2014 IEEE International Conference on Mechatronics and Automation (ICMA), 2014.

[3]苟胜难.基于改进的RSSI无线传感器网络节点定位算法研究[J].计算机应用研究, 2012, 29(5): 1867-1869.

[4] PARK SK, SUH Y S.A zero velocity detection algorithm using inertial sensors for pedestrian navigation systems [J].Sensors 2010,10(10): 9163-9178.endprint

[5]張科.基于粒子滤波的ZigBee无线定位跟踪方法[D].武汉:华中科技大学,2011.

[6]石志京.基于低功耗蓝牙的室内定位技术研究[D].宁波:宁波大学,2015.

[7] Deng Chang, Guan Hongyun. Ranging Compensation Indoor Positioning Based on rssi[J]. Electronic Sci &Tech,2015(7):108-114.

[8] SUSI M, RENAUDIN V, LACHAPELLE G. Motion mode recognition and step detection algorithms for mobile phone users[J]. Sensors,2013, 13(2):1539-1562.

[9]张浩,赵千川.蓝牙手机室内定位系统[J].计算机应用, 2011, 31 (11): 3152-3156.

[10]马旭攀,惠飞,景首才,等.一种基于蓝牙信标的室内定位系统[J].测控技术, 2016, 35(4): 55-58.

[11]王益健.蓝牙室内定位关键技术的研究与实现[D].南京:东南大学, 2015.

[12] ADNAN T, DATTA S, Mac LEAN S. Efficient and accurate sensor network localization [J]. Personal and Ubiquitous Computing, 2014,18(4): 821-833.

[13] YU C, ZHANG J, DONG Y, et al. Realization on indoor positioning in basis of reference tag[J]. International Journal of Wavelets, Multiresolu- tion and Information Processing,2014, 12(5): 7-14.

[14]张世哲.基于惯性传感器和WiFi的定位系统的设计与实现[D].北京: 北京邮电大学,2012.

[15]梁元诚.基于无线局域网的室内定位技术研究与实现[D].成都:电子科技大学, 2009.

[16] NIU X, LI M, CUI X, et al. Wtrack: HMM-based walk pattern recognition and indoor pedestrian tracking using phone inertial sensors[J]. Personal and Ubiquitous Computing, 2014, 18(8): 1901- 1915.

[17] WANG L, XU L, BI Z, et al.Data cleaning for RFID and WSN integration[J]. IEEE Transac- tions on Industrial Informatics, 2013, 10(1):408-418.

[18] Nam S H, Shin O S, Lee K B. Transmit power allocation for a modified V-BLAST system[J]. IEEE Trans on Commun, 2004, 52(7): 1074- 1079.endprint