万立志 崔英花
(北京信息科技大学信息与通信工程学院 北京 100101)
随着无线通信技术的日益成熟,人们对室内及小范围定位的需求越来越多。传统的定位方法在某些特殊应用场景下无法适用,比如入侵检测、入室盗窃等,在这些场景下定位目标不会携带定位设备,无设备定位(Device Free Localization,DFL)的概念应运而生。2007年在ACM MobiCom会议上Moustafa Youssef团队首次提出了DFL[1],通过构建合适的通信网络,由信号链路的变化量来实现目标定位。
位置指纹的定位方法在主动式定位中就有所研究,在无设备定位中该方法同样适用。关键点在于位置指纹数据的获取[2],无设备定位中如何计算出目标对通信网络造成的干扰是一个难点。据此,本文利用射线跟踪方法[3]进行无线信道的建模,获取信号发射端和接收端之间链路的信号强度值,构建指纹数据库,避免实际测量工作的繁琐,有效降低了获取数据带来的偏差,提高定位精度。
位置指纹实际上是定位目标的坐标和指纹数据的组合,这个指纹是能够代表当前链路的特征数据[4],一般情况下,选择接收信号强度(Received Signal Strength,RSS)作为指纹数据。
使用位置指纹进行定位分为两个阶段,离线阶段和在线阶段。在离线阶段,在确定好的定位区域中按照定位需求设置若干位置已知的参考点,待定位的目标会依次经过这些参考点,此时我们可以测得信号发射端和接收端之间链路的信号强度值,这些数据连同参考点的位置信息形成指纹数据库。在在线阶段,目标进入定位区域中,此时系统可以采集到当前所有信号链路的信号强度值,并将其与离线阶段的指纹数据库进行匹配实现位置估计[5]。
假设定位区域由M个发射端和N个接收端构成无线通信网络,则区域内存在M×N条信号链路,再加入一个信号节点作为协调器。在该定位区域内选取L个参考点,位置坐标为li=(xi,yi)。离线阶段,当目标位于参考点li时,确定好通信信道,后续的通信过程都在该信道内进行。给每个发射端和接收端进行编号,每一条信号链路作为一组,如图1所示。
图1 获取RSS数据示意图
采用周期循环的方式获取信号强度,具体流程如下:
(1) 第一组发射端和接收端在信道内进行通信,此时其余的发送端和接收端暂时关闭避免产生干扰,发射端发送的数据包括自身序号和MAC地址等。发射端发送数据前进行空闲信道评估(Clear Channel Assessment,CCA),检测信道内能量是否低于阈值,若低于阈值则说明信道内无其他数据传输,发送正常进行;若高于阈值,则说明信道内有其他数据传输,等待一段时间后再执行上述操作。CCA的目的是避免通信碰撞和信号叠加,减小对数据获取造成的影响。接收端接收到数据后再将自身序号、收到的数据和测得的RSS数据发给协调器进行存储。
(2) 下一组的发射端和接收端重复步骤(1)的过程,直到所有组的数据都发送完毕。协调器将这些数据连同参考点的坐标一起发给上位机进行存储。
(3) 改变目标所在参考点位置,重复步骤(1)和步骤(2),直到所有参考点处的信号链路的RSS数据都测量完毕。上位机将数据进行处理,按照式(1)构建离线指纹数据库[6]。
(1)
式中:rssmn表示由第n个接收端与第m个发射端所构成链路的信号强度;Loc是参考点的坐标信息,与RSS是一一对应的。
在线阶段,待定位目标位于定位区域的某一位置(xt,yt)时,与离线阶段的方法相同,采集此时所有链路的信号强度,以向量形式存入矩阵RSSt,与先前的指纹数据库进行匹配,依据一定的准则选择最匹配的参考点作为目标的估计位置[7]。
(2)
射线跟踪方法是一种针对特定场景的电磁波传播计算方法,电磁波从信号发射端发出,可以近似为射线进行研究分析,寻找从发射端到达接收端的直射、反射和衍射路径,分别对各个路径的信号进行分析,计算出反射、衍射系数,再计算出各个路径的信号强度,最后叠加得到接收端的信号强度[8]。射线跟踪方法完全基于电磁波传播的物理原理,适用于各类特定室内场景的信道建模。
在室内环境中,影响传播的三种基本机制为直射、反射和衍射,使用合适的信号传播模型能有效地减小误差。很多研究表明,室内路径损耗[9]遵从式(3)。
(3)
式中:PL(d)和PL(d0)表示与发射端距离d和d0的路径损耗;n为路径损耗指数;Xσ表示标准偏差为σdB的正态随机变量。接收端接收到发射端的信号强度为:
RSS=Pt-PL(d)
(4)
式中:Pt为发射端的发射功率,减去传播过程中的路径损耗就可以得到信号强度[10]。
运用式(4)可以计算出室内环境中发射端与接收端之间的信号强度。由于室内环境复杂,信号传播过程中受到的干扰较多,仅用式(3)和式(4)难以刻画复杂的传播过程。据此,本文从信号传播的直射、反射和衍射路径出发,分别计算三种路径的信号强度,叠加得到接收端接收到的信号强度。
直射路径是指发射端直线传播到接收端的路径,计算方法如下:
(5)
p=2πtf
(6)
(7)
式中:t为直射时延;d为发射端与接收端的距离,v为传播速率;p为直射相位;f为频率;E为直射路径的信号强度;λ为波长。
在室内环境中,当无线信号接触到四周的墙壁、天花板和地板时会发生反射现象,从而对信号传播造成影响,图2所示为信号反射的示意图。图中,Ei表示入射场,Er表示反射场。参数ε1、σ1和ε2、σ2分别表示两种介质的介电常数和导电性。
图2 反射示意图
从叠加的角度考虑,在解决一般的反射问题时仅须考虑两个正交极化分量,电场极性平行于入射波平面定义为平行极化场,电场极性垂直于入射波平面定义为垂直极化场[11]。当第一介质是空气时,在介质边界处,垂直和平行两种极化场的反射系数为:
(8)
(9)
ε=ε0εr-jε′
(10)
ε′=σ/2πf
(11)
式中:θ为入射角;ε0=8.85×10-12F/m;εr表示反射介质的相对介电常数;σ表示反射介质的导电性;f表示频率。
计算出反射系数后,根据反射现象的规律和麦克斯韦公式边界条件可以推导出式(12)、式(13)。
θi=θr
(12)
E=ΓEi
(13)
式中:Г依赖于极性,如果电场极性平行于入射波平面,那么Г=Г‖;如果电场极性垂直于入射波平面,那么Г=Г⊥。
射线跟踪中对衍射路径的计算较为复杂,据此本研究引入了菲涅耳理论将信号链路和参考点的位置信息联系起来,定量计算目标对信号链路造成的干扰。
在电磁波传输时,当人体站在某一位置时会使得信号绕着人体边缘表面传播,从而信号能够传播到接收端,这种现象可以用菲涅耳理论解释。它说明波前上的所有点都可作为产生次级波的点源,这些次级波组合起来形成传播方向上新的波前,绕射由次级波的传播进入人体的阴影区而形成,在人体的周围会形成菲涅耳区[12]。根据文献[12]的理论,在人体周围的菲涅耳区中,菲涅耳半径、人体参数值和RSS变化量存在式(14)、式(15)、式(16)关系。
(14)
(15)
(16)
式中:ΔRSS表示RSS变化量;fac表示人体参数,由人体肩宽bx和人体头部到背部的距离by计算出;rl(xt)表示人体在xt位置时的菲涅耳半径,由波长λ、xt位置到发射端的距离ql(xt)和发射端到接收端的距离dl按照式(15)计算出:Δh0表示环境参量。菲涅耳区示意图如图3、图4所示。
图3 菲涅耳区示意图
图4 菲涅耳半径示意图
在大多数的无线通信系统中,接收端的总信号强度可以表示为上述三种路径分量的叠加。考虑到计算复杂度,假设室内场景简单,只有周围6面墙壁作为障碍物。对射线遇到障碍物产生的现象进行简化,只着重考虑一次反射的情况,多次反射后射线的衰减很小,可以忽略不计。且定位空间内只存在单个人体目标,所以只考虑一次衍射的情况。使用射线跟踪方法时,采取双循环算法,具体过程如下:
(1) 当目标位于第一个参考点时,先在定位区域内选取第一组信号发射端和接收端,假设该发射端各向均匀地发射n条射线,每条射线的初始能量为E,总的能量为nE。对这n条射线分别进行跟踪,若射线在空间中没有遇到任何障碍物时沿直线一直传播;遇到墙壁等障碍物时,射线会发生反射;遇到人体边缘时会发生衍射。n条射线中有的射线传播到能量衰减至阈值以下也未到达接收端,去除这些射线,记录到达接收端的射线的个数和传播路径等相关参数。
(2) 在经过直射、反射和衍射的影响后,射线的能量得到一定的衰减,在接收端接收的信号包含了1条直射路径、6条墙壁一次反射路径、x条多次反射路径和y条人体衍射路径的信号,x和y的值取决于实际射线跟踪情况。通过前几节的方法可以分别计算出这些路径分量的能量,其中多次反射路径分量只计算第一次反射时射线的能量,后续多次反射造成的衰减忽略不计。对这些路径分量的能量进行求和作为当前信号链路的信号强度,计算方法如下:
(17)
式中:ELOS为直射路径分量;EPRi为第i条一次反射路径分量;EMRi为第i条多次反射路径分量;EDi为第i条衍射路径分量。
(3) 选取下一组信号发射端和接收端,重复步骤(1)和步骤(2)。
(4) 重复步骤(3),直到所有的信号链路的信号强度都计算完毕。
(5) 改变目标所在参考点的位置,重复步骤(1)至步骤(4),直到计算出目标位于所有参考点处信号链路的信号强度[13]。
在线阶段测得链路的实时信号强度后,需要与离线阶段构建的指纹数据库进行匹配。匹配的方法有很多,本文选择的是WKNN算法,是K最近邻(K-Nearest Neighbor,KNN)算法的演变[14]。算法的精髓在于通过计算样本和待分类事物的距离来衡量两者的相关性,距离越小说明两者越接近。对于距离的度量方法有很多种,其中最具代表性的有欧几里得距离和曼哈顿距离两种,计算方法如下:
(18)
(19)
计算好距离之后,对距离进行递增排序。选取前k个距离,找到对应的参考点的位置信息,通过引入权重因子来衡量对最终结果的贡献程度。距离越近,权重因子越大。最终的分类结果由这k个参考点和对应的权值相乘再相加得到。一般情况下权重因子的选择是欧几里得距离的倒数[15],计算方法如下:
(20)
式中:D表示递增排序后的欧几里得距离矩阵;wi表示第i个邻居的权重。待定位目标的位置估计可由下式计算出:
(21)
由无线信号传播规律可知,实际的物理距离和接收信号强度的欧几里得距离之间具有非线性关系,因此仅用欧几里得距离来定义权重值是不准确的[16]。据此,本文在经过实验后,将欧几里得距离和曼哈顿距离结合来计算权重因子,计算方法如下:
(22)
(23)
(24)
式中:EWi与式(5)一样,是用欧几里得距离的倒数计算的权重;MWi是用曼哈顿距离计算的权重;Mi是选取前k个欧几里得距离后计算的待测点和这k个参考点的曼哈顿距离。将上述两种权重因子结合得到wi,最后的位置估计与式(21)相同。
为了验证提出方法的有效性和合理性,本文进行了实验,利用MATLAB 2016b工具实现数据获取和测试定位效果。在20 m×15 m×4 m的区域内每隔1 m设置一个参考点,总计19×14=266个参考点。再布置3个信号发射端和3个接收端,发射端的坐标分别为(1,15,1)、(10,15,1)、(19,15,1);接收端的坐标分别为(1,0,1)、(10,0,1)、(19,0,1),总共可组成9条链路。图5所示为定位区域内信号发射端、接收端的平面分布,图6所示为参考点的平面分布。
图5 定位区域平面分布
图6 参考点平面分布
在离线阶段,当目标位于参考点(1,1)时,按照射线跟踪方法分别计算直射、反射和衍射路径的信号强度,获得定位区域内9条链路的信号强度值,循环计算266次,可得到一个266×9的指纹数据库,行代表参考点,列代表链路的信号强度。
图7所示为系统的定位结果图,在定位区域内随机生成20个待定位点,通过改进WKNN方法进行定位。
图7 无设备定位图
对于本系统而言,k值的选取对结果的影响很大,k值较小,容易发生过拟合,估计误差会增大。k值较大,可以减少估计误差,但与待测点距离较远的参考点指纹数据也会对预测起作用,影响最终的定位结果。图8所示为不同k值下的定位误差,可以看出k值增大会一定程度提高定位精度,但是随着k取值的增大,定位误差不降反升,可见本系统的最佳k值是7。
图8 不同k值下的定位误差
定位区域内随机选取20个待测点,分别用KNN、WKNN和改进WKNN算法进行定位,图9所示为这3种算法的定位误差对比。可以清楚地看出本文提出的改进WKNN算法明显优于传统的两种算法。
图9 3种算法的定位误差对比结果
用本文提出的射线跟踪和菲涅耳理论结合的方法与传统的室内路径损耗方法分别构建指纹数据库,并进行定位的误差对比,结果如图10所示。
图10 两种模型的定位误差对比图
由图10可知,本文方法的最大误差为0.686 8 m,最小误差为0.025 5 m,平均误差为0.164 7 m,使用本文方法构建的指纹数据库明显优于传统的路径损耗方式,定位精度提高了47%。
本文为了实现无设备定位,借鉴主动式定位中常用的位置指纹定位的方法,先在定位区域中布置好信号发射端和接收端,设置若干参考点。针对实际测量工作的繁琐,采用射线跟踪结合菲涅耳理论的方法进行无线信道的建模。通过计算无线信号的直射、反射和衍射路径获取链路的信号强度数据,构建位置指纹数据库,用改进的WKNN方法实现对目标的定位。通过实验仿真验证系统的合理性和性能,结果表明系统的定位精度较高,相对于室内路径损耗方法,本文提出的方法定位精度提高了47%。但是针对实际环境,信道模型中的一些参数还需要修改,解决该问题是下一步的研究方向。