APP下载

一种改进的WIFI位置指纹室内定位算法

2021-07-01谢世成余学祥赵佳星童子良

关键词:定位点参考点欧式

谢世成,余学祥,赵佳星,汪 涛,童子良

(1.安徽理工大学 空间信息与测绘工程学院,安徽 淮南 232001; 2.安徽理工大学 矿山采动灾害空天地协同监测与预警安徽普通高校重点实验室,安徽 淮南 232001; 3.安徽理工大学 矿区环境与灾害协同监测煤炭行业工程研究中心,安徽 淮南 232001)

随着移动智群感知技术与物联网技术的发展,人们对于位置信息的需求日益迫切[1]。室外环境下,全球导航卫星系统(global navigation satellite system,GNSS)凭借其出色的表现,满足各种位置服务的需求。但是对于建筑物内或大型遮蔽场所内的导航定位,由于卫星信号被遮挡而不具有持续的精确位置测算能力[2]。相对于室外,室内环境中信号传播的多径和阴影效应等因素导致定位难度更大。由于人类大部分活动都处于室内环境,实现精确的室内定位,既有技术需求,同时也有十分重要的现实意义[3]。目前主要的室内定位技术有基于WIFI、低功耗蓝牙[4]、射频识别[5]、超宽带[6]、ZigBee[7]、超声波[8]、视觉[9]等,随着无线局域网(wireless local area networks,WLAN)技术的发展,基于WIFI的位置指纹定位逐渐成为主流技术。该技术主要包含离线采集和在线定位2个阶段[10]。离线阶段通过接收端接收的接收信号强度(received signal strength,RSS)构造与参考点之间的一一映射关系;在线阶段,待定位点通过RSS匹配算法实现位置估计,在WIFI覆盖率足够高的情况下,仅通过软件即可实现定位,避免了硬件成本的增加,具有低成本、高精度等优点。

确定待定位点的位置是位置指纹定位方法最关键的一步,即通过实时接收的信号强度与数据库进行匹配,找出相似度最高的若干个数据。目前,典型的匹配算法主要有最近邻法、核函数法、最大似然概率法、神经网络法、朴素贝叶斯法、支持向量回归法等[11]。最近邻算法(K-nearest neighbor,KNN)作为最基本的匹配算法,最先应用在微软的RADAR[12]系统,但是其存在定位精度不高且系统稳定性差等缺点。人们在此基础上提出了加权K最近邻(weightedK-nearest neighbor,WKNN)算法。相比KNN算法,WKNN算法通过赋予权重选择K值,能够提高边缘位置点的定位精度,因而成为目前最常用的匹配算法。

本文针对室内环境对接入点信号强度造成干扰的情况,采用基于方差修正距离的加权KNN匹配算法。根据参考点RSS的均值和方差信息,重新定义了欧式距离,通过对不同误差的信号强度值进行不同幅度的修正,使计算的欧式距离更加准确,从而可以更准确地选择K值进行定位。

1 位置指纹定位原理

基于WIFI信号强度的位置指纹定位算法主要原理[13]是:离线阶段,将定位区域离散化,在每个离散点(参考点)采集RSS信息,提取其特征向量作为唯一的指纹信息,并与实际物理位置一一对应,存入数据库;定位时,通过匹配算法找到数据库中与待定位点RSS特征相似度最高的点进行位置估计。

离线阶段主要工作分为两步:

(1) 在定位区域选取适当数量的参考点,然后在每个参考点采集来自不同访问接入点(access point,AP)的信号强度。

(2) 对采集的原始数据进行离群值剔除、滤波等预处理,提取处理后的数据特征作为指纹信息,并与参考点的位置关联,存入数据库。

设R为指纹数据库的集合,结构如下:

(1)

(2)

PFDB=[Loc,R]

(3)

在线阶段,在定位区域随机采集信号强度,预处理后利用匹配算法计算采集的数据与数据库中数据的相似性,选取相似度高的信号强度所对应的位置,将其赋予该点。具体流程如图1所示。

图1 位置指纹定位流程

实时定位阶段目前常采用加权K最近邻算法匹配位置。通常来说,就是通过移动终端实时采集信号强度组成RSS向量,计算指纹库中对应RSS向量的相似度,选择K个相似度高的向量对应的参考点,进行加权平均得到待定位点的估计位置。

(4)

2 基于方差修正距离的WKNN算法

加权K最近邻算法中,通常使用欧式距离衡量2个信号强度向量之间的相似性[14],将欧式距离的倒数作为权值代入后面的计算。由于室内环境中障碍物遮挡、人员流动、多径效应等复杂环境的影响,采样点上采集到的RSS会有一定程度的波动,使得计算的欧式距离并不准确。因此本文采用了一种基于方差的WKNN匹配算法对欧式距离进行修正。

2.1 传统欧式距离

离线采集阶段,定位区域中某一参考点j接收到的N个AP的信号强度值为:

(5)

则定位点i与参考点j的欧式距离Dij为:

(6)

虽然欧式距离能够直观反映同一空间中2种信号强度的差异性,但是信号强度的变化不仅仅受定位点物理位置的影响,信号自身的波动也会导致欧式距离的改变。

2.2 方差加权欧式距离

针对欧氏距离受RSS波动影响的问题,对(6)式改进得到:

(7)

其中,dk为针对每个AP信号值的改正权值,通过赋予测量准确的信号较大的权值,使得计算的欧式距离更加准确。然而仅通过测量值并不能得到误差,因此在建库阶段根据每个AP采集的RSS值计算误差信息,将其作为标准与定位阶段采集的RSS值对比,从而计算测量误差。文献[15]通过实验发现,距离AP越近,信号强度值越大,信号波动的概率越小;距离AP越远,信号强度值越小,波动概率越大,同时信号强度的方差也较大;信号强度的方差与均值之间存在如下线性关系:

Var=aMean+b

(8)

建库阶段利用采集的信号强度值的方差和均值计算每个AP的a、b,其中a和b是线性函数的参数,并与参考点位置一起存入数据库,离线阶段将实时采集的RSS均值代入(9)式,计算近似方差值。通过上面的分析可知,数据的方差越小,表明此时的信号越稳定,可靠性越高。在计算欧式距离时应该赋予较大的权重,因此利用方差的倒数作为实时测量值的权重,即

(9)

2.3 改进WKNN算法流程

在线阶段,在参考点处采集各个AP的信号强度值,经过卡尔曼滤波后计算均值和方差,并与该点位置一起存入数据库;利用实时采集的RSS均值计算每个AP的近似方差,同时根据每个AP的修正权重对欧式距离进行改正;最后按照K-最近邻算法确定待定位点的估计位置。改进的WKNN算法流程如图2所示。

图2 改进的WKNN算法流程

3 实验验证与分析

3.1 实验环境

实验选取安徽理工大学测绘学院南103实验室为测试环境,实验区域大小约为9 m×9 m,定位区域平面图如图3所示。

图3 定位区域平面图

在房间4个角分别部署4个AP,以1 m为间隔,布设100个参考点。在每个参考点采集100次数据,经过卡尔曼滤波后,计算RSS的均值和方差,与参考点位置一起存入数据库。实时定位阶段,在定位区域选取24个点,每个点采集10次数据,经过处理后计算定位点位置。

为了验证本文提出的WKNN算法的可行性和有效性,利用同一组数据分别使用普通加权K最近邻算法、K最近邻算法和K-means-EWKNN计算待定点位置,对比最终的定位结果。

3.2 数据预处理

WIFI接收信号强度属于链路层信息,易受多径传播、人体吸收、阴影效应等因素的影响[16]。本文对所采集信号强度的特征进行分析,采用卡尔曼滤波方法进行降噪。

以定位区域内某一AP为例,采集500次数据进行统计分析,可以看出RSS易受环境干扰,波动较大,同时存在少量离群值。针对这种问题,本文首先使用3σ检测法剔除离群值,然后利用卡尔曼滤波对数据进行降噪,结果表明卡尔曼滤波对信号起到良好的平滑作用。

图4 卡尔曼滤波结果

3.3 结果与分析

本文采用定位误差,累计误差概率分布和平均定位误差,评价4种方法的定位精度,结果如图5、图6所示。

图5 定位误差

图6 累计误差概率分布

4种定位方法误差对比见表4所列。

从图5、图6、表1可见,改进的WKNN算法在面对RSS信号非线性波动时,具有良好的稳定性,能够减小定位误差,提高定位精度。改进的WKNN算法的平均定位精度为1.248 m,相比普通WKNN算法精度提升了20.3%,相比KNN算法精度提升1倍左右。对比最新的位置指纹算法,改进的WKNN算法整体性能优秀,虽然个别点的定位精度落后于K-means-EWKNN算法,但是改进的WKNN算法具有定位时间短、误差波动小等优势。

表1 4种定位方法误差对比 m

从误差分布来看,改进的WKNN算法误差在2 m以内的概率达到80%左右,优于其他3种定位算法,表明结合了卡尔曼滤波的方差修正距离的WKNN算法在一定程度上改善了WIFI信号不稳定带来的定位误差问题。

4 结 论

本文针对指纹定位过程中RSS信号不稳定的问题,设计了一种基于方差修正距离的WKNN匹配算法。首先采用卡尔曼滤波对指纹库进行预处理,剔除误差较大的数据;然后通过实时测量的RSS均值计算方差修正权值;最后通过加权K最近邻算法实现定位。

实验结果表明,改进的WKNN算法平均定位精度达到1.248 m,对比普通WKNN算法以及K-means-EWKNN算法有效提高了定位精度,在一定程度上降低了由于RSS信号不稳定产生的误差。

猜你喜欢

定位点参考点欧式
幸福营销七步法
数独小游戏
简约欧式9.4.4全景声影院 湖北恩施红星美凯龙
欧式花边的中西宫廷时尚表现
定位点分布对相机位姿解算精度影响分析
数控机床回参考点故障诊断及维修
基于鱼雷电磁场辐射源的过靶弹道最小二乘拟合方法
欧式城堡——木炭与色彩的碰撞
基于多目标蚁群算法的稳定参考点选择
巴洛克风格庭院设计