您好, 访客   登录/注册

基于差分修正的WKNN室内定位方法

来源:用户上传      作者:

  摘要:针对WiFi信号强度具有时变性,室内环境复杂和人员走动等因素造成WiFi信号不稳定,使定位结果存在一定误差的问题,本文提出一种基于差分修正的WKNN室内定位方法。该方法首先采用均值滤波和高斯滤波结合的方法对离线阶段采集到的数据进行预处理,然后利用差分误差修正WiFi指纹的方法得到一个时变偏差,最后结合时变偏差,利用基于方差的WKNN定位方法估计待测点的位置。实验结果表明,该方法在一定程度上解决了WiFi信号不稳定性和时变性带来误差的问题。
  关键词:室内定位;WiFi;指纹定位;差分修正;方差滤波
  中图分类号:TP311
  文献标识码:A
  文章编号:1009-3044(2020)04-0256-03
  收稿日期:2019-11-22
  基金项目:本文获得广州市产业技术重大攻关计划(201802020020)的资助
  作者简介:徐逸轩,硕士研究生,主要从事智能感知与信息处理研究;余松森,通讯作者,教授,博士后,主要从事智能感知与信息处
  理研究;苏海,博士,讲师,主要从事智能感知与信息处理研究;周娴玮,博士,讲师,主要从事智能感知与信息处理研究。
  1 概述
  人们在室内的时间占生活的80%至90%,对室内定位的需求也越来越高。在室内或者建筑物密布的地区,卫星信号被遮挡,GPS就不再适用。WiFi具有成本低、易于实现、普遍性高的特点,人们只需通过智能设备打开WiFi就可以实现定位功能,无须其他硬件设备支持,节约了成本,方便了用户,因此成为目前室内定位研究的热点[1]。
  目前室内定位常用的定位方法,从原理上主要分为七种:邻近探测法、质心定位法、多边定位法、三角定位法、极点法、指纹定位法和航位推算法[2]。其中,位置指纹定位法又称为场景分析法,在测量环境中抽取特定位置的信号特征信息,建立指纹数据库[3],通过智能终端的实时信号与指纹数据库中的特征信息进行匹配来实现待测目标的定位。指纹定位法具有成本低、精度高、易实现的优点,因此应用最为广泛。该方法主要包含两个阶段:离线阶段和在线阶段[4]。在离线数据采集阶段,利用智能设备搜集待测区域若千个参考点WiFi的接收信号强度,构建离线指纹数据库;在线定位阶段,用户在测试点使用智能终端收集到WiFi的实时信息,与离线指纹数据库中的信息进行算法匹配,得到用户的估计位置。
  传统的WiFi室内定位算法是通过计算待测点的信号强度矢量与指纹数据库中参考点的欧式距离[5],并将其作为权重因子,利用无线接入点(Access Point,AP)的信号强度差异进一步估算待测点的位置。但是在实际情况中,室内环境复杂多变、WiFi信号不稳定和人员走动等多种干扰因素,导致WiFi的接收信号强度(Received Signal Strength,RSS)[6]在连续时间内会存在数值波动的现象,使欧式距离的计算存在一定的误差。另一方面,使用位置指纹定位法时,采样点的强度直接影响定位精度,因此,指纹数据库中数据的质量要得到保证。室内的环境是复杂多变的,即使同一个位置,在不同时刻测量同一个AP时,也会得到不同的信号强度值。传统的方法会在离线阶段对数据进行去噪处理[7],但是WiFi信号强度具有时变性,一次采样获得的WiFi信号强度并不能保证其完整性,会存在一定的时变偏差。针对上述问题,本文提出一种基于差分修正的WKNN室内定位方法。本文通过计算待测点的信号强度矢量与指纹数据库中参考点的均方差代替传统的欧式距离,并在基于方差的WKNN定位算法中引入时变偏差,用动态指纹数据补偿的思想,在一定程度上解决了WiFi信号不稳定性和时变性带来误差的问题。
  2 基于差分修正的定位算法
  常见的指纹定位算法主要有近邻法、朴素贝叶斯法、最大似然概率法、核函数法、神经网络法和支持向量回归法等[8]。近邻法在理论上已经比较成熟,简单易于实现且普适性较强,典型的近邻算法有最近邻算法(NN)[9]、K最近邻算法(KNN)[9]和加权K近邻算法(W KNN)[10],本文选择采用加权K近邻算法作为在线定位匹配算法。
  指纹定位法主要包含两个阶段:离线阶段和在线阶段。在离线阶段,本文采用均值滤波和高斯滤波结合的方法对数据进行预处理,提高了指纹数据的精准度。在在线阶段,本文在基于方差的WKNN定位算法中引入时变偏差,以动态对指纹数据进行补偿,一定程度上解决了WiFi信号时变性带来误差的问题。
  2.1 离线阶段
  由于人体内的水分会吸收一定的无线信号,因此用户朝向会引起信号强度差异。离线阶段分别采集东、西、南、北4个朝向的信号指纹,将采集到的每个参考点的RSSI值、MAC地址以及对应的位置坐标等信息构建信号指纹库。最后将4个朝向的信号指纹合并训练建库,形成1个全向指纹库。
  本文采用均值滤波和高斯滤波结合的方法对数据进行预处理。首先对数据进行均值滤波处理,此方法操作原理比较简单,它是需要求得参考点中各个AP接收到信号强度的平均值R,计算公式如(1)所示:
  其中,N为某一AP信号强度值的总样本数,RSS,为此AP的第i个样本的信号强度值。但是该方法只能在一定程度上减小接收信号强度产生波动的影响,当产生随机误差时,均值滤波的处理能力就受到了限制,因此,采集到的數据经过均值滤波处理后还要进行高斯滤波处理才能存入指纹数据库。
  高斯滤波的原理是将概率较小的信号过滤掉,对数据进行平滑处理以减小误差。假设智能终端采集到的信号强度值服从(0,σ2)高斯分布,设其μ为均值,σ为标准差,用变量x表示RSS,可得概率密度函数F(x)如公式(2)所示:
  由正态分布中常用的理论概率知:
  根据经验,选取发生概率较大的RSS的范围,本文选取概率大于0.6826的范围,即保留滤波后RSS∈[μ-σ,μ+σ]的信号强度值,舍弃该范围以外的结果。   2.2 在线定位阶段
  在线定位阶段,为了保证获取的待测定位点WiFi信号强度的精准性,采用和离线阶段同样的方法,在同一位置采集多条数据,对每一个AP信号强度采用均值滤波和高斯滤波结合的方法对数据进行预处理,然后与指纹库中数据进行算法匹配。
  传统的WKNN算法是通过公式(6)计算待测点的信号强度矢量与指纹数据库中参考点的欧式距离作为权重因子,利用AP的信号强度差异进一步估算待测点的位置。
  其中,di表示待测点的信号强度矢量与指纹数据库中第i个参考点的欧式距离。
  针对WiFi信号强度连续时间内会存在数值波动现象和具有时变性的问题,本文提出在基于方差的WKNN定位算法中引入时变偏差,用以动态指纹数据补偿的思想。具体地,首先在所有的参考点中选取M个点作为偏差测试点,在定位的同时,采集这些偏差测试点的RSS值,然后利用公式(7)计算出时变偏差rss。
  其中,RSS为偏差测试点在定位阶段的实时RSS值,RSS。off为该点在指纹数据库对应的RSS值。最后,测试点的RSS值减去时变偏差即在一定程度上解决了时变性带来误差的问题。
  匹配过程是基于MAC地址的方法,根据AP的MAC地址具有唯一性的特点,我们将待测定位点中接收到的所有AP依次与指纹数据库中的一个参考点进行匹配,当检测到二者的MAC地址相同的时候,匹配数量S加一,并计算该测试点和该参考点i对应RSS值的均方差,均方差D,计算公式如(8)所示:
  其中,RSS,表示待测定位点处第j个AP的信号强度矢量,RSS.表示第i个参考点的第j个AP的信号强度矢量。
  然后将该测试点与指纹数据库中所有的参考点执行上面的步骤,因而每一个参考点都会得到一个信号强度的均方差。我们选取其中k个最小的均方差,计算其倒数作为权重,得到待测点估计坐标(x,y)的计算公式如(9)所示:
  其中,(x,y)为参考点坐标,a为防止计算中分母为零而设置的一个接近于零的正数。通过这种方法,当我们选取下一个测试点的时候,可以根据不同的测试点计算出不同的权重,得.到一种动态的自适应的定位算法,提高了定位精度
  3 实验
  本系统基于Android平台进行WiFi室内定位,开发工具是Android Studio,测试工具采用Android系统的智能手机,手机型号为Honor 10,手机系统运行版本为Android 9。实验选取华南师范大学计算机学院603实验室为测试环境,实验区域大小约13m*7m,如图1所示,在室内四个角分别部署了4个AP,有水泥墙壁,1-9号办公桌椅,人员走动等干扰因素。
  首先,在实验区域建立二维坐标系,以正门口为坐标(0,0)。在实验区域内,以1米为间隔,选取了72个参考点,又以2米为间隔,选取了18个参考点为偏差测试点。对每个参考点在东、西、南、北四个朝向分别采集50次指纹数据,时间间隔为1秒。将采集到的数据采用均值滤波和高斯滤波结合的方法进行去噪处理,存入指纹数据库。
  为了验证本文基于差分修正的WKNN室内定位方法的有效性和可行性,根据上述方法,利用同一组指纹数据库,用了两种对比方法分别做了15次实验,得到这两种算法的误差比较如图2所示:
  如图2所示,相比于传统的基于欧氏距离的室内定位算法,本文提出的基于差分修正的WKNN室内定位方法,在室内定位应用中误差距离明显减小。由于人员走动等因素影响造成实验结果波动大,但是整体比较,本文的定位精度有所提升。进一步分析可得,15组定位实验的误差均值由原来的1.54m减少到1.31m。实验结果表明,该方法在一定程度上解决了WiFi信号不稳定性和时变性带来误差的问题。
  4 结束语
  本文针对WiFi信号具有不稳定性和时变性的特点,提出了一种基于差分修正的WKNN室内定位方法。在离线阶段采用均值滤波和高斯滤波结合的方法对指纹数据进行去噪处理,在线定位阶段,提出在基于方差的定位算法中引入时变偏差动态指纹数据补偿的思想。经过实验证明,该方法在一定程度上优化了定位算法,降低了定位误差。
  参考文献:
  [1]杨铮,吴陈沭,刘云浩.位置计算:无线网络定位与可定位性[M].清华大学出版社,2014:113-115.
  [2]WU C,YANG Z,XIAO C.Automatic Radio Map Adaptation for Indoor Localization Using Smartphones[J].IEEE Transactions on Mobile Computing,2018,17(3):517-528.
  [3]Le Dortz N,Gain F,Zetterberg P.WiFi fingerprint indoor positioning system using probability distribution comparison[C].Acoustics,Speech and Signal Processing (ICASSP),2012 IEEEInternational Conference on.IEEE,201 2:2301-2304
  [4]裴凌,刘东辉,钱久超.室内定位技术与应用综述[J].导航定位与授时,2017,4(3):1-10.
  [5]崔斌,赵西安.一种基于传播模型和位置指纹的混合室内定位方法[J].测绘通报,2015(6):35-38.
  [6]石琴琴,徐强,张建平,等.基于RSSI测距的室内目标定位方法[J].电子测量与仪器学报,2018,32(2):86-91.
  [7]马鑫迪,马建峰,高胜.室内定位系统中指纹库的优化方法[J].西安电子科技大学学报,2015,42(6):81-87.
  [8]陈丽娜.WLAN位置指纹室内定位关键技术研究[D]上海:华东师范大学,2014.
  [9]Yongliang Sun,Yubin Xu,Lin Ma,Zhian Deng.KNN-FCM Hybrid Algorithm for Indoor Location in WLAN[C].International Conference on Power Electronics and Intelligent Transportation System,2009
  [10]Di Wu,Yubin Xu,Lin Ma.Research on RSS based Indoor
  Location Method[C].Pacific-Asia Conference on Knowledge Enginering and Software Engineering,Shenzhen,2009:205-208
  [通聯编辑:梁书]
转载注明来源:https://www.xzbu.com/8/view-15161801.htm