基于PCA-WBayes的WiFi室内定位算法*
2018-08-03郭凯旋卢彦霖
阮 超, 冯 涛, 郭凯旋, 卢彦霖, 余 敏
(1.江西师范大学 计算机信息工程学院,江西 南昌 330022;2.江西师范大学 软件学院,江西 南昌 330022)
0 引 言
基于无线局域网(WiFi)的室内定位技术[1]主要可分基于接收信号强度指示 (received signal strengh indication,RSSI),基于信号达到角(angle of arrival,AOA)和基于信号达到时间(time of arrival,TOA)[2]等,相比而言,WiFi信号的RSSI易于获取,因此基于信号强度值成为WiFi室内定位技术的主流方向[3,4]。文献[5]提出基于信号传播模型和位置指纹数据库的定位方法,实现定位。文献[6]提出贝叶斯(Bayes)滤波优化算法,利用Bayes概率模型处理RSSI测量值,获取精准测距数据。文献[7]提出将K最近邻(K-nearest neighbor,KNN)与Bayes融合的定位算法,优选出概率最大的点作为最终位置。文献[8]提出采用主成分分析 (principal component analysis,PCA)白化接收信号强度(RSS)的,去除RSS之间的相关性,有效提高聚类精度,以此提高定位精度。文献[9]提出了基于PCA—最小二乘支持向量回归(least square support vector regression,LSSVR)定位算法,提高了定位精度,但实时性受到影响。
各种基于朴素Bayes的WiFi室内定位算法假定来自不同无线接入点接入点(access point,AP)的信号之间相互独立、互不相关[10],但在实际情况中,各AP的信号存在明显的相关性[11,12],采用Beyes算法进行位置估计,必将导致定位精度的损失。本文采用PCA结合加权Bayes(PCA-weighted Bayes,PCA-WBayes)算法,利用PCA去除相关性,为运用Bayes计算后验概率提供良好基础,对定位结果加权,一定程度上改善了上述的问题,提高了Bayes定位理论的适用性,有效提升了传统Bayes方法定位的精度。
1 PCA-WBayes定位算法原理
定位过程分为离线建库和在线定位两个阶段。离线建库阶段,获取参考点处各AP的RSSI样本的均值和标准差,连同参考点位置坐标,作为一条指纹存入位置指纹数据库,运用PCA对位置数据指纹库中的RSSI数据去相关性、降维,提取主要特征。
在线定位阶段,获取待测点处的RSSI信息,运用PCA进行去相关性处理,在位置指纹数据库中进行匹配,通过Bayes算法计算位置后验概率,筛选出w个后验概率最大的参考点坐标,按概率值分配不同的权重,取加权后结果作为待测点位置。定位算法原理如图1。
图1 PCA-WBayes定位算法原理图
1.1 PCA变换
(1)
(2)
(3)
1.2 WBayes位置估计
将Bayes公式应用于室内定位进行位置估计:假定待定位区域划分有p({p∈N+})个参考点,n({n∈N+})个信号源AP,以随机变量Ak({K∈N+|1≤k≤P})代表定位区域平面某参考点k,以随机变量Bt({t∈N+})代表待测点t处经PCA变换后的RSSI均值向量,Bt=Bt1∩Bt2∩…∩Btm,其中Bt1~Btn分别代表待测点t处RSSI均值向量的分量,各分量互不相关。因此,已知待测点t处RSSI均值向量求解待测点位置的问题,可转化为求解后验概率P(Ak|(Bt1Bt2…Btn))的最大值问题,进一步可将上述问题简化为求解max[P(Bt1|AK)P(Bt2|AK)…P(Btm|AK)]。
当单个参考点某一AP的RSSI样本足够,其样本通常均服从高斯分布,其概率密度函数为
(4)
f(x)在x=x0的函数值表示随机变量位于x=x0左侧区域的概率,RSSI通常取整数值,计数单位为1,因此,以RSSI均值向量分量位于区间(Bti-0.5,Bti+0.5)的概率代表RSSI均值向量分量等于Bti的概率。计算位置后验概率
P(Bti|Ak)=f(Bti+0.5)-f(Bti-0.5)
(5)
2 实验与结果分析
2.1 实验环境
实验验证本文提出PCA-WBayes算法的有效性和测试定位精度,实验区域及WiFi信号源AP的部署如图2,本实验采用的定位信号源AP为TP-LINK无线路由器,WiFi信号接收端为华为荣耀6手机。按照1.2 m×1.2 m的规格将实验区划分成若干个正方形网格。将各网格顶点设定为参考点,并依次序编号,共设定了148个参考点。建立平面坐标系确定各参考点位置坐标。离线阶段采集各参考点处来自各AP的信号强度值,在各参考点对每个AP反复采集50次,对采样数据取均值作为该位置处的信号强度值,并计算数据样本标准差。各参考点数据采集完成后,进行PCA变换,建立位置指纹数据库。
在线定位阶段,按上述方法对待测点信号强度进行,取均值和标准差,进行PCA变换,再运用本文Bayes方法计算后验概率,在位置指纹数据库中筛选出前3个后验概率最大的点,按照上文原则分配权值,最后取加权结果为待测点坐标。
图2 定位区域
实验中对KNN,Bayes,PCA-WBayes 3种定位算法进行位置估计对比。将定位结果与待测点实际位置进行比较,计算定位误差大小。取n次定位结果的平均误差作为定位算法的误差
(6)
2.2 实验结果分析
基于KNN,Bayes和PCA-WBayes 3种WiFi室内定位算法的累积误差分布如图3所示,可以看出,在上述实验环境下,本文提出的PCA-WBayes算法98 %的定位误差在2 m以内,定位精度优于1.5 m的占到全部实验结果的74 %,而Bayes算法和KNN算法分别只有56 %和48 %的定位误差在1.5 m以内,PCA-WBayes算法的定位误差明显低于传统Bayes和KNN算法。
图3 3种定位算法的累积误差分布
基于KNN,Bayes和PCA-WBayes 3种WiFi室内定位算法的平均定位误差和平均运行时间如表1所示。
表1 3种定位算法的平均定位误差
由表1可以看出,在上述实验环境下,本文提出的PCA-Bayes算法定位精度最高,平均定位精度达到1.15 m,相比传统Bayes算法和KNN算法,定位精度分别提高了15.44 %和27.22 %。但在算法运行时间方面,PCA-Bayes算法的时间复杂度大幅增加。
3 结束语
本文提出了PCA-WBayes算法,实现了PCA与Bayes的完美结合,实验结果表明:本文算法定位结果显著优于传统KNN,Bayes等算法,具备更高的定位精度,但在线定位匹配阶段需要遍历位置指纹数据库,计算各个参考点处的后验概率,一定程度会增加定位运行时间造成,有待下一步解决。