(石家庄铁道大学 电气与电子工程学院,河北 石家庄 050043)
随着互联网技术和计算机应用的快速发展,对室内定位技术的需求越来越高[1]。近年来各大研究机构引入了无线局域网(wireless fidelity,WiFi)[2]、蓝牙(Bluetooth)[3]、红外线(infrared)和超宽带(ultra wide band,UWB)[4]等室内定位技术。综合多方面因素,WiFi具有无需布线、覆盖范围广、传输速率快、安全性高和辐射低的优点[5],广泛用于各大型室内场所的定位。目前,研究人员对WiFi指纹定位法展开了深入的研究。黄震等[6]对位置指纹采用主成分分析提取指纹库主要特征向量,对特征指纹库构建最小二乘支持向量机定位模型。李华亮等[7]采用核函数特征提取的室内定位算法,首先将原始位置指纹空间扩展到高维再进行主特征提取,对新构成的特征指纹库,使用WKNN算法估计位置坐标。这些算法虽然在定位精度上有一定的改善,但是在构建数据指纹库时,都未考虑到人体不同朝向对信号采集的影响。陈斌涛等[8]虽然在指纹库建立阶段引入了用户朝向的影响因素,但是采用的是360°旋转实时采集的过程,很大程度上增大了指纹采集工作量。实现定位,在离线阶段分别采集4个方向上无线接入点(access point,AP)、接收信号强度值(received signal strength indication,RSSI)与用户朝向数据,构建WiFi方向指纹库,采用粒子群(particle swarm optimization algorithm,PSO)优化最小二乘支持向量机(least squares support vector machine,LSSVM)算法,根据不同方向指纹库,分别训练机器M得到无线信号向量X与物理位置Y之间的映射关系,提交到在线阶段,通过在线数据选择对应方向上的映射关系,估计待测点坐标。
图1 用户不同朝向对接收信号强度影响
水的共振频率是2.4 GHz[9],人体成分的70%是由水组成,会吸收2.4 GHz的无线信号能量,导致移动终端在不同方向接收到RSSI值具有差异性。在实际环境中选定一个AP进行试验,研究人体对无线信号的影响程度。试验人员手持移动终端距离AP 3 m位置,由面对AP方向顺时针旋转分别设为1、2、3、4方向,每个方向采集3 min,采集频率1 Hz,求均值,由图1可知,用户朝向不同,接收到的RSSI会产生较大的波动。
最小二乘支持向量机(LSSVM)是一种新型的支持向量机算法[10],将最小二乘线性系统引入支持向量机,代替传统所采用的二次规划方法,通过一个非线性映射函数φ(·)将样本映射到高维特征空间,原样本空间的非线性函数估计问题转化为高维特征函数估计问题。设训练样本集T={(xi,yi)}|i=1,2,…,l},其中,xi∈Rn为输入数据;yi∈R为输出数据。在特征空间中,LSSVM分类模型为
y(x)=wTφ(x)+b
(1)
式中,w为权值向量;b为偏置量。
作为分类LSSVM的优化问题为
(2)
式中,φ(·)为核空间的映射函数;ei为拟合误差;C为正则化参数。
建立拉格朗日函数,将式(2)中的约束化问题转化为无约束优化问题
(3)
式中,αi为拉格朗日乘子。对式(3)各个变量求偏导等于0并整理线性方程组
(4)
式中,Il=[1,1,…,1]T,I为l×l的单位阵;y=[y1,y2,…,yl]T;Ω={Ωij}l×l,Ωij=K(xi,yi)=φ(xi)Tφ(xj),(i,j=1,2,…,l);a=[a1,a2,…,al]T。
核函数为K(xi,xj)=φ(xi)Tφ(xj),可以得到
(5)
高斯径向基函数(radial basis function,RBF)具有良好的局部特征提取能力和平滑特性,选用RBF构建LSSVM,核函数为
(6)
式中,σ为核参数。
LSSVM回归函数为
(7)
正则化参数C和核参数σ为基于RBF核函数的LSSVM模型中的待定参数[11],参数C和σ决定了LSSVM的学习性能。相对于遗传算法,粒子群算法具有全局搜索能力的特点,采用PSO算法对参数C和σ进行寻优。首先在可行解空间中随机初始化m粒子组成的种群Z={Z1,Z2,…,Zm},其中每个粒子所处的位置xi都代表一组参数向量(C,σ),初始化粒子位置xi和速度vi,将每个粒子的初始位置设为当前最优位置,然后每个粒子都将在解空间中迭代搜索,不断调整自己的位置找到最优解。一个是粒子本身搜索到的最优解pi,best,即个体极值;另一个是整个种群目前搜索到的最优解gi,best,即全局极值。粒子i根据式(8)和式(9)不断更新自己的速度和位置,使整个种群向最优解的方向进化。
vi(t+1)=ωvi(t)+c1rand()[pi,best(t)-xi(t)]+c2rand()[gi,best(t)-xi(t)]
(8)
xi(t+1)=xi(t)+vi(t+1)
(9)
式中,i=1,2,…,m;c1、c2为加速常数;rand()为0~1之间的随机数;t为迭代次数;ω为惯性权重。
(1)建立方向指纹库。
(2)根据指纹库中定位特征即RSSI值,作为输入向量和位置信息输出构建LSSVM的训练样本集,采用PSO寻优算法确定LSSVM的最优参数C和σ,建立拟合特征和位置关系的定位模型。
(3)根据测试样本选择对应方向的定位模型估计其位置。
算法框架如图2所示。
图2 算法流程图
为了验证顾及朝向(consider orientation,CO)的PSO-LSSVM算法(简称为:CO-PSO-LSSVM)对定位的有效性,在实验环境选择上,为了更加有针对性的验证用户自身朝向对WiFi信号遮蔽的影响,排除外界其他行人对信号的干扰,环境中尽可能多地存在现有稳定的WiFi发射器和电源接入点来减小成本投入,以及实验场所面积较大的需求,最终选择石家庄铁道大学第九实验楼309物联网实验室,结合现有的基础设施和实验所布置设备共13个AP,由于环境中实验台的影响,综合考虑选取6×9共54个离线采样点(参考点)和10个随机测试点,采样间隔为1.92 m,每个采样点每个方向采集1 min,采样频率1 Hz,对采样结果采取均值滤波处理,存入数据库。见图3、图4。
图3 实验场景
图4 场景示意图
在Win7操作系统,Matlab R2014a的测试平台上对CO-PSO-LSSVM、PSO-LSSVM、CO-ACO-LSSVM(蚁群算法优化LSSVM参数)和ACO-LSSVM的定位性能进行对比测试,采用平均误差对定位结果进行评价分析,公式如下
(10)
式中,n表示测试点个数。
下面就不同AP数量和参考点个数对定位结果的影响进行仿真分析。
根据图5、图6、图7结果显示,定位平均误差随参考点个数和AP个数增加而降低,定位耗时随着参考点个数增加而增加,所提算法定位平均误差最小,在精度最高点处,CO-PSO-LSSVM平均误差为0.72 m较PSO-LSSVM的0.84 m、CO-ACO-LSSVM的0.99 m和ACO-LSSVM的1.11 m分别降低了13.87%、26.87%、和34.46%,CO-PSO-LSSVM定位耗时为145.93 s,较CO-ACO-LSSVM的210.48 s、ACO-LSSVM的207.92 s和PSO-LSSVM的142.08 s分别少30.67%、29.81%和多2.64%,根据以上结果分析可得,CO-PSO-LSSVM较PSO-LSSVM定位误差降低了13.87%,定位效率降低了2.64%,相对而言,定位效率的降低可以忽略不计,定位性能得到了一定程度的改善。
图5 平均误差随参考点个数增加的变化情况
图6 平均误差随AP个数增加的变化情况
图7 所耗时间随参考点个数增加的变化情况
针对室内定位提出的离线阶段建立方向指纹库和在线阶段的指纹筛选机制,一定程度上消除了由于人体对信号干扰的影响,对于训练数据的选择更具有针对性,运用粒子群优化最小二乘支持向量机算法相对其他算法具有更强的全局搜索能力和较快的收敛速度,因此从整体判断,CO-PSO-LSSVM算法的定位精度更优,实时性更强,给用户带来了更好的定位效果。