APP下载

基于低功耗蓝牙信标的室内定位方法研究

2018-11-26刘振远侯明祥方维维李阳阳路红英

中国电子科学研究院学报 2018年5期
关键词:信标信号强度测距

刘振远,侯明祥,方维维,李阳阳 ,路红英

(1. 北京交通大学 计算机与信息技术学院,北京 100044;2. 中国电子科学研究院 创新中心,北京 100041)

0 引 言

近年来,人们对室内位置服务[1]的需求与日俱增,室内定位在商场、医院、机场、会展中心、大型停车场都有非常广泛的应用。如大型商场中的商户希望能够通过室内定位获知哪些地方人流量较大,顾客们通常会选择哪些行走路线等,从而更科学地布置柜台或者选择举办促销活动的地点。消费者则希望进入商场后能够直接快速地获取商店或者所需产品的位置。然而,目前主流的GPS定位技术主要用在室外场景,在室内环境下GPS信号受到墙体的阻隔或反射,很难穿透建筑物到达室内,也就无法实现室内环境下的定位和位置服务。

为了弥补GPS定位技术在室内环境下定位效果的不足,出现了多种室内无线定位技术,如UWB、Zigbee、超声波和蓝牙等。这几种室内无线定位技术各有特点:UWB(超宽带)定位技术,多径分辨能力强、精度高,定位精度可达厘米级,但UWB难以实现大范围室内覆盖,且手机不支持UWB,定位成本非常高;ZigBee室内定位技术,其信号传输受多径效应和移动的影响都很大,而且定位精度取决于信道物理品质、信号源密度、环境和算法的准确性,造成定位软件的成本较高,提高空间还很大;超声波定位应用案例的代表是Shopkic,在商店内安装超声波信号盒,手机麦克风检测到声波,从而实现定位,主要用于店铺的签到。超声波在空气中的衰减较大,不适用于大型场合,加上反射测距时受多径效应和非视距传播影响很大,造成需要精确分析计算的底层硬件设施投资,成本太高。 2013年,苹果公司基于新一代的低功耗蓝牙(Bluetooth Low Energy,简称BLE)标准,推出了iBeacon技术[2],具有低成本、低功耗及快速连接的特点,迅速成为室内位置服务的主流技术之一。类似的技术还有Google公司的Eddystone和Radius Networks公司的AltBeacon。它们的工作原理是:设备自身可以创建一个信号区域,定期地向周围发送蓝牙广播帧,蓝牙广播帧的有效负载中携带了自身的通用唯一标识符、自身与接收设备之间相距1 m时的参考接收信号强度、实际的接收信号强度指示(Received Signal Strength Indication ,简称RSSI)等信息,支持低功耗蓝牙的移动设备能够接收到这种广播帧,并可以根据收到的信息实现电子围栏、消息推送、室内定位等功能。理论上,对于持有集成了蓝牙功能的移动终端设备的用户,只要设备的蓝牙功能开启,蓝牙室内定位系统就能够对其进行位置判断,因此相比其他几种室内定位技术,更容易推广普及。本文主要研究基于iBeacon的室内定位方法,在现有技术的基础上,从测距模型的建立、多边定位算法的改进、特殊区域的定位三个角度,提出了相应的解决方案,并进行了验证。结果表明,本文提出的方法可以保证在室内环境实用中可接受的定位精度。

1 测距模型

一般来说,无线信号的信号强度和距离之间存在着一定的关系。在自由空间环境中,不考虑阻挡和多径传播,设发射端与接收端的距离为d,则接收端的接收功率Pr可表示为:

(1)

其中Pt为发射功率;Gt和Gr分别为发射和接收天线增益;λ为电波波长。由上式可以看出,在自由空间中,接收功率与距离d2成反比。在实际环境中,由于存在多径、障碍物、绕射等随机因素,无线电传播损耗与上式相比还是有较大变化。近几年的相关研究中[4],常采用了对数-常态分布模型:

(2)

其中Pr单位为dBm ,d0一般取1 m。在一般室内定位中,考虑到环境、成本、定位精度要求等因素,所使用的RSSI测距信号渐变模型进一步简化为:

RSSI=A-10nlog10d

(3)

其中d为定位节点与参考点之间的距离,单位为m;A为定位节点与参考点之间的距离为1 m时的参考RSSI值;n为信号渐变因子,范围一般为2~4。

iBeacon的广播帧中包含了iBeacon模块与接收设备之间相距1 m时的参考接收信号强度,因此公式(3)中A的值是已知的。需要说明的是,这个参考信号强度可以根据实际室内环境的不同,进行相应的调整,本文使用的A的值为-65 dBm。这样对于公式(3),只需确定信号衰变因子n的值,就能够根据接收到的信号强度RSSI值,估测出移动设备与iBeacon之间的距离。

基本的测距方法是通过固定一个iBeacon信标节点的位置,在距该信标节点的不同距离处设置采样点,对每个采样点收到的广播帧中的RSSI信号进行采样,并利用采集到的数据进行对数拟合,最终求出对数-常态分布模型所需的参数n。但是由于射频信号的不稳定性,信号强度值会出现波动,在同一个采样点收到的RSSI值并不唯一,使得RSSI和距离之间不再存在一一对应关系,传统的解决方法是将采样点多次测量的RSSI值取平均作为该位置点上的RSSI值,公式如下 :

(4)

这种方法的缺点是在计算某一采样点RSSI信号值时,采集到的该点的所有RSSI信号数据参与计算,波动较大的数据势必会对计算结果产生一定的影响,导致所求的平均值并不能反映实际环境中RSSI的特点。事实上,大量实验表明[5],在距离信号发射点固定距离处,RSSI的随机分布是近似符合高斯分布的。因此,本文提出一种基于高斯分布的RSSI滤波模型,通过该模型过滤掉概率较小的RSSI值,解决实际环境中信号传播易受干扰的问题,消除那些小概率短时的噪声扰动,具体实现方法如下:

(1) 使用数组存储采样中的一组RSSI数据,作为高斯分布的样本;

(2) 计算该组数据的样本均值和样本方差,公式如下:

(5)

(6)

(3) 根据高斯分布的3δ原则,区间[μ-3δ,μ+3δ]上取值的概率为99.73%,本论文将区间外的数值认为是异常值,最终确定的RSSI滤波模型如下:

(7)

这样,每一个采样点收集的多组数据经高斯滤波后计算几何平均值用于标定该位置点的信号强度,多个位置点的数据作为测距模型的输入数据,经拟合之后求得n为2.427,最终确定的距离公式及其曲线如图1所示:

图1 通过拟合得到的测距模型

2 室内定位算法

2.1 多边定位算法原理

多边定位[6]的原理是定位终端接收周围蓝牙信标发出的蓝牙信号,根据信号强度的测距模型得出信标与被定位终端的距离,当定位终端接收到三个以上不同信标的蓝牙信号且信标的坐标已知的情况下,就可以对这个终端进行定位[7]。假设没有损耗、没有干扰的理想情况下,利用信号强度测距模型得到的距离没有误差,如图2(a)所示,可以计算得出被定位终端的确切位置。但现实情况是,受周围环境的干扰,通过信号强度渐变模型计算得到的距离存在误差,三点定位时的情况往往如图2(b)所示[8]。

图2 多边定位原理图

考虑更一般的情况,移动设备接收到了周围n个蓝牙信标的RSSI信号,通过距离公式计算得到移动设备到这n个信标的测量距离为di。设目标点的坐标为(x,y),则可列出如下方程组:

(8)

这是一个有两个未知数,多个方程的超定方程组,通过简化可得到线性方程:

AX=b

(9)

其中,X为x,y组成的列向量,

通过最小二乘法求解上述方程,可得:

X=(ATA)-1ATb

(10)

X便是待定位的移动设备的坐标计算值。

2.2 多边定位算法的改进

2.2.1 检测Immediate状态实现特殊位置点定位

iBeacon虽然不能直接推断距离,却提供了Proximity[8]参数来标定移动设备与iBeacon信标之间的远近范围,它有四个数值:Immediate(距离d<0.5 m)、Near(0.5 m30 m)[9]。在行走过程中,当移动设备接收到的Proximity数值变为Immediate时,说明此时移动设备与iBeacon非常贴近,基本可以判定移动设备就在距离iBeacon信标0.5 m的范围内,这种情况下本文提出不再使用多边定位算法计算移动设备的坐标位置,而是直接将移动设备的坐标定位到iBeacon信标的位置上。这样,在靠近iBeacon信标的特殊位置点,可以通过检测Immediate状态实现较为精准的定位。在实验过程中发现,由于iBeacon信号的不稳定,移动设备在靠近iBeacon信标的位置上,时而会出现Near这一距离状态,干扰对定位的判断。针对这一情况,本文提出了相应的解决方案:定义n个窗口大小为5的滑动窗口,n的大小由移动设备接收到的iBeacon信标的数目决定。每个滑动窗口记录从对应iBeacon信标接收到的最近5次的距离状态。如果接收到的5次距离状态中,至少有3/5为Immediate状态,则认为移动设备位于相应的iBeacon信标0.5 m范围内,此时直接将移动设备定位到对应的iBeacon坐标位置,从而实现移动设备在这些特殊位置点上的精准定位。

2.2.2 步态检测控制位置漂移

室内定位过程中,由于无线信号的不稳定性,有时待定位的移动设备物理位置发生了变化,但由定位算法得到的位置坐标却没有改变;有时移动设备在原地静止不动,但由定位算法得到的位置坐标却发生了改变。这种由于无线信号的不稳定引起的位置漂移,一定程度上影响了定位的准确性。针对这一情况,本文把移动设备自身板载的传感器利用起来,结合传感器数据实现步态检测[10],从而达到控制位置漂移的目的。

人的行走姿态具有周期性的特征,每次跨步开始到跨步结束为一个周期。移动设备的加速度传感器记录了移动设备在三轴上的加速度数据,行人在手持移动设备行走时,移动设备的加速度传感器可以获得人行走时周期性的波形,通过对周期性波形的分析可以判断出行人的行走情况[11]。这里由于移动设备会固定受到地球重力影响,加速度传感器的读数实际是受此影响后的数值,因此实验中使用的是移动设备线性加速度传感器的数据,也就是加速度传感器的读数减去重力加速度之后的结果。具体实现步骤如下:

(1) 对三个方向的线性加速度数值进行整合,计算三轴线性加速度Acc的大小,计算公式如下:

(11)

(2) 对收到的Acc数据采用FIR低通滤波器进行平滑去噪处理,得到滤波后的数据FilAcc;

(3) 设置阈值D和T,其中D为相邻波峰与波谷的数值差,T为相邻波峰与波谷的时间差。根据对人行走时步幅步频的统计分析[10],本文定义D的值为6 m/s2,T的值为170 ms。若1 s内的FilAcc数据组成的波形存在波峰和波谷,且波峰与波谷的数值差小于阈值D,时间差大于阈值T,则认为在当前单位时间内发生了行走。

图3 行人运动过程中的加速度波形

针对上文提到的位置漂移问题,利用实现的步态检测算法,本文提出的处理方案是:若在2 s内未检测到行走行为,认为用户在当前位置暂时停留,此时不再通过多边定位算法更新用户位置,直到步态检测算法检测到用户发生移动;若步态检测算法检测到用户发生移动,但多边定位算法并没有及时更新坐标位置,认为当前位置iBeacon信号较弱或受到了干扰,此时利用步态检测得到行走的步数,结合移动设备板载的磁力传感器、加速度传感器以及陀螺仪传感器得到行走的方向估计与步长估计,这样在已知步数、步长和方向的条件下,就可以利用行人航位推算[12](Pedestrian Dead Reckoning,简称PDR)进行暂时的辅助定位,直至能够重新使用多边定位。

2.3 特殊区域的两点定位算法

室内环境较为复杂,在某些特殊区域,如办公楼或商场里的条状走廊等位置,难以布设足够多的iBeacon设备来实现多边定位算法。上文指出,利用移动设备的多种传感器可以实现PDR算法,在iBeacon信号弱的情况下完成辅助定位,基于这一思想,本文提出了针对室内特殊区域的两点定位算法:

(1) 在走廊等特殊区域每隔一段距离布设一个iBeacon信标,确保在特殊区域的任一位置上都可以收到至少两个iBeacon信标的信号,并对这些iBeacon信标进行特殊标记;

(2) 定位过程中对移动设备每次接收到的多个iBeacon信标根据信号强度RSSI降序排序,找出信号最强的iBeacon信标,若该iBeacon信标被标记为特殊区域的信标节点,则认为待定位的移动设备进入了走廊等特殊区域;

(3) 若待定位的移动设备进入走廊等特殊区域,则根据信号强度RSSI的排序确定出信号最强的两个iBeacon信标,根据距离公式将信号强度RSSI转化为距离,记为d1,d2,记两点的坐标分别为(x1,y1)、(x2,y2)。则可利用公式(12)计算出待定位移动设备的初始坐标:

(12)

(4) 根据获取的初始位置,在定位过程中分别利用PDR算法和基于公式(12),得到下一个定位点两个不同的位置估计,采用加权的方式对得到的两个位置估计进行坐标加权,由于PDR算法得到的位置估计更加稳定,相应地赋予更高的权重0.7,从而确定出新的定位点的最终位置估计;

(5) 定位过程中不断检测Immediate状态,实现iBeacon信标附近特殊位置点的定位。

3 实验设计与结果分析

本文算法的实验选择在北京交通大学逸夫教学楼3楼进行,实验场地轮廓图如下所示:

图4 实验场地轮廓图

实验中使用的硬件设备有一部魅族MX5智能手机、7个iBeacon信标,所有信标的广播功率设置为-8 dBm,广播间隔设置为100 ms。首先进行测距模型的评估实验,测试环境选择一间15×20 m2的多媒体教室,固定一个iBeacon信标于该教室中,然后分别在距离该iBeacon信标1 m、2 m、…、12 m处设置测试点,分别使用未滤波的测距模型、均值滤波测距模型以及本文提出的高斯滤波测距模型,计算各个测试点的估计距离并与实际距离作比较。实验中在每个测试点收集50组测距数据,分别计算每个采样点上误差的均值和方差,实验结果如图5所示:

图5 三种测距模型误差对比图

从图5可以看出,经高斯滤波之后得到的测距模型,相比未滤波测距模型,平均测距误差减小了68%,误差震荡降低了72%,相比均值滤波测距模型,平均测距误差减小了41%,误差震荡降低了50%。实验证明,本文提出的高斯滤波算法,有效提高了测距模型的测距精度。更为重要的是,多边定位算法是基于测距模型实现的,测距精度的提高,间接地提高了定位的精度。

对于多边定位的测试依然选择在该教室中进行,选择教室中一个10×10 m2的正方形区域,在正方形区域的4个顶点处分别部署一个iBeacon信标,测试人员手持手机从(0 , 0)点出发,顺时针绕正方形的边界行走一周,分别记录使用传统定位算法和改进的定位算法得到的行走路线,实验结果如图6所示:

从图6可以直观地看出,使用传统的多边定位算法得到的行走路线与实际路线相比,路线混乱且存在着较大的误差。在多边定位算法中加入Immediate周期校正后,测试人员走到iBeacon信标附近时成功实现了位置的校正,相比传统的多边定位算法,定位效果有所改善,但依然存在位置漂移的问题。加入步态检测算法后,有效控制了上述的位置漂移问题。可以看到,使用本文提出的改进的多边定位算法,相比传统的多边定位算法,得到的行走路线与真实的行走路线更为吻合,定位精度更高。

图7 三种算法的误差累计分布函数图

图7相比图6更为量化地展示了三种算法的定位精度,从图中可以看出,使用传统的多边定位算法有50 %的测试点定位误差在1.5 m以内,最大定位误差在4 m左右,而使用了本文提出的改进的多边定位算法之后,误差在1.5 m以内的测试点达到了87%,所有点的误差均控制在了3 m以内。

对于两点定位算法的测试选择在3楼走廊进行,选择一段20 m长的走廊,在走廊墙壁上每隔10 m布设一个iBeacon蓝牙信标。选取0 m、2 m、4 m、…、20 m处作为参照点,测试人员手持手机从走廊一端走到另一端,分别记录使用传统的PDR算法和本文提出的两点定位算法得到的在各个参照点处的定位坐标。本文着重分析定位坐标在行走路线上的误差,得到两种算法的误差对比图如下:

图8 PDR与本文两点定位算法的误差对比图

具体的误差数据:

表1 两种算法的误差数据对比

从表1可以看出,PDR定位算法的最大误差为4 m,平均误差为2.1 m,本文提出的两点定位算法的最大误差为1.4 m,平均误差为0.7 m。相比于PDR定位算法,本文提出的两点定位算法有效减小了定位的误差,提高了定位精度,成功解决了走廊等无法实现多边定位的室内区域的定位问题。

4 结 语

本文提出一种基于低功耗蓝牙信标的室内定位方法,首先应用基于高斯分布的信号滤波技术,有效提高了测距模型的精度,在此基础上通过融合步态检测等算法提出了改进的多边定位算法,以及针对特殊区域的两点定位算法,最后通过实验对算法进行了验证。实验结果表明,本文提出的基于低功耗蓝牙信标的室内定位方法定位效果良好,能够满足绝大多数室内定位的要求。下一步我们会在室内定位的基础上,实现室内导航、消息推送等功能,最终实现一套完整的室内位置服务解决方案。

猜你喜欢

信标信号强度测距
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
位置指纹定位中WiFi信号特性分析及处理技术研究
电子自旋共振波谱法检测60Co-γ射线辐照中药材
一种基于置信评估的多磁信标选择方法及应用
类星体的精准测距
RFID电子信标在车-地联动控制系统中的应用
浅谈超声波测距
蓝牙信标存潜在风险
WiFi信号强度空间分辨率的研究分析
基于PSOC超声测距系统设计