基于RFID的BVIRE算法研究与改进
0 引言
随着物联网技术的快速发展,室内定位技术受到了前所未有的关注。LANDMARC(Location Identification Based on Dynamic Active RFID Calibration)算法因其简单且定位精度高得到了许多学者的研究[1]。在LANDMARC算法的基础上用基本相似的方法插入网格虚拟参考标签和边界参考标签得到边界虚拟标签算法(Boundary Virtual Label Algorithm,BVIRE)。在边界虚拟标签算法中采用两个权值,比LANDMARC算法多1个,而且在邻近标签的选择上采用阈值TH来排除小概率的大误差标签[2]。实验表明相比原算法,BVIRE算法在定位精度上得到了较大的提高。
1 BVIRE算法简介
如图1是边界虚拟标签算法的示意图,T(T1,T2…T5,T6…)代表已知坐标的16个参考标签。如果将四周的虚拟标签去掉但是保留四角星(阅读器),就得到了LANDMARC算法模型。而VIRE算法是在LANDMARC算法的基础上在参考标签中插入虚拟标签[3],而在边界上不插入虚拟标签,如图2所示。所以边界虚拟标签算法是建立在LANDMARC算法和VIRE算法基础上在边界上引入16个虚拟参考标签后得到的算法。
在网格的水平方向上,虚拟参考标签的RSSI(Received Signal Strength Indication)值[4]:
在网格的垂直方向上,虚拟参考标签的RSSI值[4]:
其中,Sk(Ti,j)表示各参考标签(包括虚拟标签)在阅读器上的RSSI值,n为网格划分数。
2 BVIRE算法优化分析
(1)BVIRE算法选择欧式距离最短的标签作为邻近标签,欧式距离的计算方法沿用经典LANDMARC算法的邻近距离公式[5-6],如下所示:
Ej表示定位目标与第j个参考标签之间的信号强度相对差;S=(S1,S2,S3,…,Sn),Si表示已知坐标的参考标签到读写器i的信号强度;R=(R1,R2,R3,…,Rn),Ri表示待测标签到读写器i的信号强度值[5-6]。
通过比较Ej的大小来确定与目标标签RSSI差值相近的点。通过欧式距离公式可以明确,功率如果相近,则坐标值也是相近的。但是由于环境因素的影响,比如折射、反射等,常常会使得相差较远的点的功率也可能与目标坐标相近,如图3所示,右下角的点就是误差很大的点,但是LANDMARC算法还是将其作为参考点来计算待测标签坐标。
式(3)中对于每一个读写器i,都可以求出一个Ej,那么可以通过设置一个阈值TH来排除小概率点,这个阈值就像一个过滤器,当Ej小于阈值时就保留下来,当Ej大于设定的阈值时就将它剔除。比如将图3右下角那个点排除后就可以使定位精度得到大幅提高。阈值的大小要按照环境的不同而设置,当环境比较恶劣,路径损耗指数很大时,则要将阈值设大一些,而当环境较好时,则将阈值设为较小。
(2)在BVIRE算法中采用了不同于LANDMARC权值的设定方式,LANDMARC算法中只设定了一个权值,而BVIRE算法中设定了两个权重因子[2-3],如式(4)、(5)所示。
W1i表征选出的邻近参考标签与待测标签之间的强度信号差值,Sp(Ti)表示选择的参考标签强度值,Sp(R)表示待测标签强度值,K是一个经验值。nci表示和i参考标签连在一起的区域个数,na是选择出来的参考标签的个数。
权重因子W2i主要根据虚拟标签在区域中的密度而设定。由于这里取了两个权值因子,而待测标签的坐标估计值需要将这两个权值因子做乘积。经分析数据发现,第一个权值因子有些数据很大,对定位结果起了决定的作用,就排除了其他权值因子的作用,于是将第一个权值因子取倒数其他条件均不变,这样得到了更好的定位结果。
3 BVIRE优化算法实验结果分析
结合上述分析对BVIRE算法进行改进优化后得到IMBVIRE算法,对各算法进行性能比较,仿真环境:8 m× 8 m的办公室,路径损耗指数n=2,虚拟标签网格划分数N=4,阈值TH=2,环境噪声标准差设置为0,路径损耗模型选用对数距离损耗模型[7]:
其中,d是待测标签到阅读器的距离,d0是参考距离,P0、P分别表示的是距离为d0、d时阅读器收到的信号强度,δ为遮蔽因子,是一个随机变量,n为路径损耗指数。
图4所示为IMBVIRE、BVIRE、LANDMARC三种算法定位结果对比图。由图4可得,相对于经典的LANDMARC,IMBVIRE算法在测试的10个点中,有1个(编号为8)的定位精度没有经典算法好,这是因为改进算法在邻近标签的选择上用了不同于LANDMARC算法的方式,通过设置阈值TH=2来排除误差大的邻近标签参考点,这里出现的这种现象可能是因为阈值选择过小,排除了本来就是正确的参考标签点。但是从整体来看,改进的IMBVIRE算法比BVIRE和LANDMARC算法的定位精度都得到了相应的提高。
由表1可知,IMBVIRE算法的系统平均误差为0.27 m,而由表2可知BVIRE算法的系统平均误差为0.33 m,改进的IMBVIRE算法整体定位精度提升了0.06 m,虽然其提升的幅度不是很大,但是在提升整体误差的同时将最大定位误差控制在0.7 m以内,将增加其定位结果的可信度。
在图1中的4个参考标签(T)所围成的正方形网格中均匀插入N2-4个虚拟参考标签,即形成N×N的网格。图5研究了当N取不同值时对定位精度的影响,当N=3时定位精度基本都控制在0.65 m以内,当N=4或N=5时定位精度都基本控制在0.4 m以内,而且随着N的增大,精度增加不明显,显然最佳取值为N=5。
室内环境有很多情况,研究表明一般情况下办公室(软分割)的路径损耗指数为2.4,零售店的路径损耗指数为2.2,蔬菜店的为1.8等。环境的不同会影响室内定位系统的定位精度。研究环境对定位精度的影响能够明确算法到底可以在何种环境中应用,同时也验证算法是否具有兼容性。图6体现出该算法在路径损耗指数为1.8时为最优,也就是说该算法最适用于蔬菜店的室内定位,同时在其他环境中该算法也能够较精确定位,充分体现了其兼容性较强,能够作为商业化广泛应用。
阈值选取是否得当与定位精度关系非常密切,如果将阈值设置过大就会起不到过滤误差参考点的作用,但是选取过小又有可能将本来需要的标签参考点过滤掉。但是加入阈值确实能够将整体的定位精度提高。由图7可见,TH=0.5或者TH=3时,定位精度都没有当TH=2时的定位精度高,所以该环境下的最佳阈值为TH=2。当然固定阈值是不能保证使每个待测标签的定位精度都能提高,从图4中可见,8号待测标签的定位精度反而没有原来的高,但是从整体性能上来分析,这个是最优的。
4 结论
本文基于BVIRE算法,在两个方面对其进行改进,而得到IMBVIRE算法。实验结果表明,改进算法在整体定位精度上提升了0.06 m,取得了比较明显的效果,同时本文确定了各个环境影响因子的最优取值,验证了改进算法的实用环境。虽然改进后算法定位精度已经相当可观,但是其定位精度的提升还有空间,下一步将研究如何设置动态的阈值,这样将会使定位精度得到更大的提升。
参考文献
[1] Zhou J, Zhang H, Mo L. Two dimension localization of passive RFID tags using AOA estimation[C].IEEE Instumention and Measurment Technology Conference, I2MTC, 2011:1-5 .
[2] Jingwangsa T,Soonjun S,Chernthanomwong P.Comparison between innovative approaches of RFID based localization using fingerprint techniques for outdoor and indoor environments[C]. ICACT, 2010:7-10.
[3] 李鹏,马宁,杨拥军,等. 基于RFID的边界虚拟参考标签改进算法[J]. 计算机应用研究, 2013,30(1):158-160.
[4] 陈冰,刘开华,史伟光. 基于RFID的虚拟标签改进算法[J]. 计算机工程, 2011,37(16):285-287.
[5] 陈瑞鑫, 邹传云.有源RFID定位系统设计与实现[J]. 电子技术应用, 2010,36(10):114-116.
[6] Xie Yinggang, Kuang Jiaoli, Wang Zhiliang, et al. Indoor location tehnology and its applications base on improved LANMARC algorithm[C]. IEEE Chinese Control and Conference, 2012:38-41.
[7] Zhu Xiuyan, Feng Yuan. RSSI-based algorithm for indoor localization[J]. Communications and Network, 2013,5(2):37-42.