孙鹏程,胡艳军,王 翊
(1.安徽大学 计算智能与信号处理教育部重点实验室,安徽 合肥 230601;2.中国科学院 上海微系统与信息技术研究所 无线传感网与通信重点实验室,上海 200050)
无源感知(device-free passive, 简称DfP)[1]定位技术通过研究对象引起的无线传感网中无线链路射频特征的变化确定其位置.由于无线收发器通信时可自动测量接收信号强度(received signal strength, 简称RSS),因此DfP定位系统可根据RSS定位.基于RSS的DfP定位方法可分为:网格法[2-4]、无线电断层成像法[5-8]、几何法[9-12]和指纹法[1,13-16].虽然网格法和无线电断层成像法有良好的定位性能,但需要高内存和大量计算资源,因此二者不适合资源受限情况.几何法是先确定受对象影响的无线链路,然后获取这些无线链路的交点,最后通过处理这些交点得到对象的位置.几何法对硬件和内存资源的要求不高,但其定位精度受环境影响较大.指纹法将信号特征(如相位、幅值、CSI、RSS等)作为指纹,将提取的指纹与位置对应,通过比较指纹实现定位.指纹法中,使用欧氏距离来匹配指纹向量.欧氏距离匹配法根据两向量的差向量的二范数来判断两向量的相似性,仅靠差向量的二范数来判断向量的相似性并不合理,且指纹的易变性降低了欧氏距离匹配法的匹配精度.针对欧氏距离匹配法仅靠差向量的二范数来判断向量相似性的问题,鉴于斯皮尔曼相关系数[17]可较好抵御指纹易变的干扰,笔者提出基于斯皮尔曼相关系数的指纹法.在指纹法中,在线向量要与大量离线指纹匹配,增加了计算量.几何法无须大量计算资源就能快速确定目标的大概位置,若在几何法定位出的位置附近再使用指纹法,则定位效果会更佳.因此,笔者拟提出一种基于RSSI(received signal strength indication)的指纹法和几何法联合的室内无源感知定位方法(F&G法).
指纹法定位分两个阶段:离线阶段和在线阶段[1].指纹法无源定位系统框图如图1所示.
图1 指纹法无源定位系统框图
理论上,所有位置对应的指纹均不同,因此指纹法定位具有较高的定位精度.但是,指纹法需要大量比对,导致计算量增加.若事先确定好目标的大致范围,对指纹采样点进行筛选,不仅计算量会减少,而且定位精度也会提高.
几何法需要判断链路的RSS值受影响的程度[9].几何法无源定位系统框图如图2所示.
图2 几何法无源定位系统框图
几何法的优点是能简单迅速确定目标的大致范围,但是定位精度受环境影响较大.一般地,链路越稀疏,定位精度越低,所以若在几何法基础上进行二次定位,则定位精度会提高.
2.1.1 欧氏距离匹配法
设空间中任意两点A,B的坐标分别为(x1,x1,…,xn),(y1,y2,…,yn),则A,B间的欧氏距离为
(1)
使用欧氏距离匹配法可比较两空间向量的相似性.
2.1.2 斯皮尔曼相关系数法
由于斯皮尔曼相关系数能衡量离线指纹向量与在线测量向量的相似度,因此笔者提出基于斯皮尔曼相关系数的指纹法.将离线指纹向量和在线测量向量作为样本,对两样本数据排序,得到排序等级和平均排序等级后,便可计算离线向量和在线向量的斯皮尔曼相关系数.
(2)
经相关变换后,斯皮尔曼相关系数的计算公式为
(3)
其中:di=Ri-Si,它表示两列成对变量的等级差[17].
2.1.3 指纹法无源定位算法
算法1为指纹法无源定位算法.
算法1
输入:M个离线参考位置的指纹向量组成的指纹库Ψ=[φ1,φ2,…,φM];M个离线参考位置对应的横坐标X=[x1,x1,…,xM],纵坐标Y=[y1,y2,…,yM];匹配函数z=f(α,β);ML个测试位置指纹向量组成的指纹向量集Φ=[φ1,φ2,…,φML];K-NN方法中的K值
输出:ML个测试位置的估计横坐标XF=[xF1,xF2,…,xFML],纵坐标YF=[yF1,yF2,…,yFML]
(1) 定义3个1维向量D1,D2,D
(2) fori=1∶ML
(3) forj=1∶M
(4)D1(j)=f(Ψj,Φi)
(5) end
(6)D=D1
(7) 将向量D中的元素按大小排序,将D中元素在D1中的位置序号作为D2的元素
(9)XF(i)=xFi,YF(i)=yFi
(10) end
算法2为几何法无源定位算法.
算法2
输入:N个普通节点的位置坐标(xnq,ynq),(q=1,2,…,N);空场景RSS矩阵G0;ML个测试位置的RSS矩阵组成的矩阵集Θ=[G1,G2,…,GML]
输出:ML个测试位置对应的估计横坐标XG=[xG1,xG2,…,xGML],纵坐标YG=[yG1,yG2,…,yGML]
(1) forl=1∶ML
(2)ΔGl=|Gl-G0|
(3) 找出ΔGl的上(下)三角矩阵中前3个最大元素值对应的位置
(4) 结合端点坐标,求解3条链路方程f1(x,y),f2(x,y)和f3(x,y)
(5) 令链路方程f1(x,y),f2(x,y)和f3(x,y)对应的链路RSS值分别为r1,r2和r3
(6) 计算3个交点坐标(px12,py12),(px23,py23)和(px13,py13)
(7) if 交点数目=1或3
(9) elseif 交点数目=2
(11) elseif 交点数目=0
(16) end
(17)XG(l)=xGl,YG(l)=yGl
(18) end
通过算法2确定目标的大致位置,以该位置为圆心以r(该文r取1.5)为半径作圆,此圆内包含K个训练位置.如果K=0,按斯皮尔曼相关系数法定位的坐标即目标的估计位置坐标;如果K≠0,对圆内K个训练位置进行加权指纹法定位.最后对几何法得到的坐标与指纹法得到的坐标求均值,得到目标的估计位置坐标.算法3为F&G无源定位算法.
算法3
输入:算法1的输入;算法2的输入;半径r=1.5
输出:ML个测试位置对应的估计横坐标XI=[xI1,xI2,…,xIML],纵坐标YI=[yI1,yI2,…,yIML]
(1) fori=1∶ML
(2) 依据算法2得到第i个测试位置对应的估计坐标(XG(i),YG(i))
(3) 以(XG(i),YG(i))为圆心、r为半径画圆(圆内包含K个训练位置)
(4) ifK=0
(5) (XI(i),YI(i))=(XF(i),YF(i))(注:(XF(i),YF(i))为算法1计算得到的坐标)
(6) else
(7) 计算K个训练位置的指纹向量与测试位置的指纹向量的相似度(匹配方式为斯皮尔曼相关系数法)
(8) 按照算法1中的方法计算第i个测试位置的估计坐标(X′F(i),Y′F(i))
(10) end
(11) end
基于RSSI的指纹法与几何法联合的室内无源感知定位实验是在安徽大学磬苑校区重点实验室进行的,实验模拟场景如图3所示.在4 m×4 m的区域边界,有8个无线节点,节点相距2 m.
图3 实验模拟场景
采用算法1进行仿真分析,指纹匹配函数分别选择欧氏距离和斯皮尔曼相关系数.
定位误差是评估无线传感器网络定位算法的重要指标,其表达式为
(4)
其中:LE(i)为测试位置i的定位误差;(xireal,yireal)为位置i的真实位置坐标;(xiest,yiest)为位置i的估计位置坐标.所有测试位置的平均定位误差AE的表达式为
(5)
其中:ML为测试位置数[18].
指纹法估计位置坐标时,采用的是K-NN法.不同的K值对定位效果有不同影响,平均定位误差与K值的关系如图4所示.
图4 平均定位误差与K值的关系
从图4可以看出,斯皮尔曼相关系数法的平均定位精度高于欧氏距离匹配法.随着K值的增加,平均定位误差总体呈下降趋势.这不难理解,因为K值的增加意味着能综合更多参考点的位置信息,定位精度会总体向好.K>6时,随着K值的增加,平均定位误差有上升的趋势,这是因为后续引入了一些不相关的参考点,使定位精度有所降低.
图5为斯皮尔曼相关系数法与欧氏距离匹配法累积分布函数的比较.
图5 斯皮尔曼相关系数法与欧氏距离匹配法累积分布函数的比较
从图5可知, 从1.5 m定位误差之内的点数占总点数百分比的角度来看,斯皮尔曼相关系数法的为60%,而欧氏距离匹配法的只为40%.从最大定位误差看,斯皮尔曼相关系数法的为2.6 m,而欧氏距离匹配法的为3.1 m.从图4也可知,当K=6时,斯皮尔曼相关系数法的平均定位误差不到1.5 m,而欧氏距离匹配法的平均定位误差接近1.8 m.综合看来,斯皮尔曼相关系数法要优于欧氏距离匹配法.
采用算法1,2进行仿真分析.图6为斯皮尔曼相关系数法与几何法累积分布函数的比较.
图6 斯皮尔曼相关系数法与几何法累积分布函数的比较
从图6可以看出,几何法的定位精度总体要优于斯皮尔曼相关系数法.因为空间无线链路的RSS值受环境影响较大,以RSS值构成的指纹有变化,不同位置的指纹就具有相似性,进行指纹定位时,难免会受到其他位置指纹的干扰,因此斯皮尔曼相关系数法的定位精度总体要比几何法的低.
采用算法1,2,3进行仿真分析,将斯皮尔曼相关系数法、几何法、F&G法定位的情况进行对比.3种定位法累积分布函数的比较如图7所示.
图7 3种定位法累积分布函数的比较
从图7可以看出,F&G法定位精度最高.表1为3种定位法的平均定位误差,从表1可以看出,F&G法相对其他两种方法,定位效果更好.
表1 3种定位法的平均定位误差
笔者提出斯皮尔曼相关系数指纹法,分析表明斯皮尔曼相关系数法相对欧氏距离匹配法有高的定位精度.将斯皮尔曼相关系数法与几何法定位效果进行对比,发现几何法的定位精度总体要高于斯皮尔曼相关系数法.仿真结果表明,F&G法优于斯皮尔曼相关系数法及几何法,提高了定位精度.