APP下载

一种用于多目标定位的抗异指纹库设计*

2018-07-26王玥玮刘保方

通信技术 2018年7期
关键词:插值指纹网格

王玥玮,刘保方

(杭州电子科技大学 通信工程学院,浙江 杭州 310018)

0 引 言

随着无线通信技术的发展,基于位置服务的应用在生活中增长迅速,跟踪、定位和导航问题成为现代学术界和工业界的热门话题[1]。目前,许多不同的定位技术和室内定位系统被广泛运用到如医院、商场和机场等大型场所,可通过精确的定位技术优化室内服务质量,提高整体的安全系数[2]。

无线传感器网络(Wireless Sensor Networks,WSNs)技术以自身低功耗、低成本的优点被部署和运用到特殊环境中,实现了数据的采集、传输和处理工作。而压缩感知(Compressed Sensing,CS)作为信息处理领域的一项革命性技术[3],将WSNs系统所在的监测区域栅格离散化为了多个网格。一般情况下,监测目标个数相对于网格数目要少得多。目标节点所占的网格数目相对于整个系统的网格数目具有高稀疏性,因此可将WSNs多目标定位问题转化为CS稀疏信号重构问题。文献[4]提出将WSNs中的目标节点用稀疏向量表示,并运用一种新型理论框架将WSNs目标定位问题转化为压缩感知重构问题。文献[5]提出过完备字典稀疏表示方法表示WSNs中的目标节点位置。

基于CS的WSNs多目标定位问题中,定位效果与参考节点收发的信号息息相关。尤其是在特殊环境中,参考节点不能进行人为的在线检查和更换。如何通过系统在线自主排查受损参考节点,以降低受损节点对定位效果的影响,是本文研究的重点。

1 概念介绍

1.1 压缩感知理论

传统的信号处理常用的采样方式为Nyquist采样技术,要求采样速率必须高于原带限信号2倍带宽,才能保证不失真地还原信号。实际情况中,为避免噪声影响,通常采取5倍带宽的采样频率进行采样。信息传输到终点时,大部分信息作为冗余信息直接抛弃,而这样的方式对信号进行压缩造成了严重浪费。压缩感知技术可根据信号的结构和特点获取有意义的信号,在不丢失重要信息的前提下,以少量的信号高概率恢复出原始信号。如果原信号具有稀疏性或在某个变换域上稀疏时,可将采样与压缩同时进行,从而避免大量冗余信息的传输。压缩感知的流程图框架,如图1所示。

图1 压缩感知流程

原始信号s∈RN通过稀疏基矩阵Ψ变换到稀疏度为k的向量x∈RN。假设稀疏变换基为标准正交基 Ψ=[Ψ1,Ψ2,…,ΨN],则原信号的线性表示为:

利用与稀疏基Ψ不相关的测量矩阵Φ∈RM×N对x进行线性测量,得到观测向量y∈RN。此时,信号的维度从N降为M(M<<N ),实现信号的压缩。信号的线性测量过程为:

其中A∈RM×N为传感矩阵。实际情况中,传感器接收RSSI信号时,不可避免会受到障碍物遮挡或多径效应等环境因素的影响而产生一定的噪声。当信号包含噪声时,测量向量y可以表示为:

其中,ns为高斯白噪声。

在压缩感知理论中,测量矩阵Φ的设计是影响信号高概率重构的关键因素,必须满足与稀疏矩阵的非相关性,才能较为准确地恢复原始信号。当传感器节点满足M=(k·log(N/k))时,如果存在ε∈(0,1)使不等式(4)成立,则符合以下条件的测量矩阵可恢复原稀疏向量。

其中,v为所有符合稀疏度为k的向量,式(4)即约束等距性准则(Restricted Isometry Property,RIP)[6]。

1.2 基于RSSI的定位模型

基于RSSI定位技术是较为典型的基于测距的定位技术[7]。该方法因其成本低廉、获取简便、无须额外硬件支持的特点,被广泛运用于WSNs应用。基于非测距算法[8]可通过网络连通度特点和邻近信息等分析估计定位,如质心法、DV-hop算法和MDS-MAP算法等。测距算法与非测距算法相比,前者定位精度相对较高,对硬件要求也较高,后者网络生存能力较强。本文选择的定位方法是基于测距的RSSI定位技术[9],然后运用集中式[10]数据传输方式将相关信息传输到汇聚节点,通过重构算法恢复节点的位置信息。

无线信号在传播过程中遇到多径干扰、阴影干扰等情况,会使其信号强度随着传播距离的增大而呈现指数型下降趋势,这种变化称为信号的路径损耗。根据文献[9]中介绍的无线信号传播模型可知,在较小距离内(1~100 m),第j个锚节点(即参考节点)接收到第i个目标节点的RSSI值为:

其中,P0是第i个目标节点处于自身位置时的信号强度;gij是目标节点信号从第i个目标节点到第j个锚节点位置的瑞利衰落,其实部和虚部分别独立,且服从均值为0、方差为σ2的高斯分布;β为路径损耗指数,一般取2~5;dij是第i个目标节点到第j个锚节点之间的欧式距离。假设(xi,yi)为锚节点的坐标,(xj,yj)为目标节点的坐标,则欧式距离的计算公式可表示为:

2 系统定位模型

WSNs多目标定位栅格化系统模型,如图2所示。将方形监测区域划分为N(n×n)个网格,区域中分布有M个AP节点作为位置已知的参考节点(锚节点),且有K个待测的目标节点(K<<M<<N)。为保证各锚节点获得的测量值权重相当,采用先边界区域分布、再中间均匀分布的传感器部署方案,以确保定位的精确度和稳定性[11]。由于未知节点相对于N个网格数目来说数据远小于N,因此具有高度的稀疏性。采样时间段内,每个目标节点周期性发射信号,各个锚节点能够独立从K个待测目标节点发送来的无线信号数据包中提取RSSI测量数据并做累加。周期采样时间结束后,锚节点将累加的信号发送给汇聚节点进行重构处理。

图2 定位系统模型

在WSNs定位问题中,基于离散网格系统的目标位置信号本身带有高稀疏性,因此Ψ取单位矩阵。此处,传感矩阵A即为测量矩阵Φ。为便于理解其物理意义及实验修改的灵活性,将传感矩阵分成两部分——离散指纹数据库和锚节点分布机制,公式表示为:

在离线阶段,通过信号衰减模型构建出离散指纹数据库。假设位于各个网格中心有一个目标节点与其他网格中心节点互相发送和接收的RSSI信号,共计N×N个信号,则有:

其中,dij表示处于第i个网格内的目标节点与第j个网格内目标节点之间的欧式距离。不失一般性,此处假设P0=1;瑞利衰落gij是服从独立同分布的高斯分布N(0,0.5);路径损耗指数β=2。文献[12]对以上满足瑞利衰落测量矩阵的RIP性质做了详细证明。

锚节点分布机制μ由M个N维行向量组成,每个行向量中有且只有一个单位“1”元素,其余元素均为0。不难理解,每个行向量均表示一个锚节点所在网格的位置。为保证传感矩阵始终满足RIP准则,锚节点各个行向量互不相关,即不存在重叠放置同一网格内的锚节点。锚节点分布机制矩阵为:

假设μ中第i行的第j位为非零向量,则有:

测量阶段结束后,各个参考节点将接收到的数据传送到作为汇聚节点的服务器终端,利用压缩感知重构算法计算出目标节点所在的网格位置,用一维向量x表示目标节点的位置信息,最终可确定目标节点的位置。

3 抗异指纹库的优化设计

对于RSSI指纹库的建立,除接收信号强度本身易受环境因素影响外,计算量和锚节点工作状态对整个RSSI测量系统的影响也不容忽视。传统的指纹库定位方法没有考虑锚节点受损问题,不能抵抗异常接收信号强度指示。本文提出了一个更安全稳定的特征指纹库,能够抵抗异常接收的信号强度指示,称之为抗异指纹库。抗异指纹库的工作流程,如图3所示。

图3 抗异指纹库构建及更新流程

下面将提出一种更符合周围复杂环境的插值方法的改进方法,使整个区域的定位更加精确。

3.1 RSSI指纹库的空间插值优化算法

在实际静态RSSI采样过程中,RSSI传播强度并不稳定,会受到多径效应、噪声和周围复杂环境的干扰。如果指纹库采集模型比较密集,甚至会出现相邻网格采集和收集到的RSSI值重复的情况。采集模型越密集,数据重复性越高。在此,首先分析实际测量节点RSSI值之间的关系,然后可由式(11)确定RSSI信号强度的均值与标准差。

理想状态下,L(x,y)可通过拟合方法结合已测量的参考节点信号强度,求解出函数中设定的参数。在此,采用低阶多项式拟合描述确定性衰减函数:

其中F'(x,y)是插值函数,常取估计值;(x,y)与(xi, yi)分别是插值坐标和已测量坐标;m是参考节点的数量,λi是第i个参考节点的权重系数。当F '(x, y)与F(x, y)最接近时,即为最优解情况。

由于RSSI值是一个非平稳特性,而其随着距离的增大而减少的趋势又是确定的,因此在此处将插值函数模型分为两块:一块作为确定性衰减函数,用L(x, y)表示,代表RSSI的确定性变化趋势;一块作为随机性变化函数,用R'(x,y)表示,代表各个位置节点的相关性和随机性。将这两个函数相加,即构成了完整的插值函数模型F '(x,y):

通过测量得到的多个参考节点的RSSI值,结合多元逐步回归法,即可确定a0、a1、a2、a3、a4参数的值。

确定衰减函数L(x,y)后,随机性变化函数R(x,y)即可标识为插值函数F'(x, y)与衰减函数L(x, y)的差值。该部分函数可运用Kriging插值法进行求解[13]。引入变差函数r(x,y,d),又称作半方差函数,即求解两个相邻网格中心位置之间方差的一半:

进一步,可得:

其中,(Xd,Yd)表示与(X,Y )点距离为d的节点的坐标,N(d )表示距离为d的采样点的对数。为了使整个插值函数模型能够更好地拟合随机变化的实际监测区域,在此采用高次拟合方法构造变差函数模型:

其中 d为位置节点之间的距离,γ0、γ1、γ2、γ3、γ4分别为待求的参数常量。求出变差函数r(d )带入式(12),即可求出随机性变化函数R(x,y),进而求出整个插值函数。最终,得到的每个网格的RSSI数据指纹库为:

相对于传统的指纹库,本文提出的指纹库对于每一个网格节点都有其方差,被记录在离线指纹库中。为便于后续数据库的更新,提取方差,并以标准差的方式整合成矩阵形式,用矩阵D表示。那么,第i个锚节点与第j个网格之间的RSSI标准差可表示为:

3.2 抗异指纹库的设计及优化

在现阶段,相对于离线阶段有一定时间差。在定位系统中,物理设备的工作状态是否良好,直接影响定位的效果。因此,分部在监测区域内的锚节点的安全性应引起重视。

锚节点的数量和锚节点的部署方案,影响定位的效果。当锚节点被成功部署到监测区域后,若碰到外部破坏,在排除环境对定位影响的基础上,尽可能保持锚节点原来的数量进行监测。也就是说,需要对锚节点的受损程度做不同处理,主要分为两种处理方式:对于轻度受损锚节点,针对其受损特征更新指纹库相应的数据;对于重度受损或完全破坏的锚节点,直接屏蔽其接收到的数据,并彻底销毁指纹库中的相应数据。

在现阶段,各个分布好的锚节点实际上占有一个网格的位置。为确定各个锚节点的工作状态,本文提出一种投票机制。假设M个锚节点的信任度初始量均为1,用向量Ts=[ts1,ts2,…,tsM]表示。第i个锚节点的可信因子可表示为tsi=1-vi/(M-1),由其他各个锚节点相互间的投票机制算出。其中,vi表示第i个锚节点受到来自其他锚节点的票数。当讨论某一个锚节点的投票数时,可设其他M-1个锚节点为指纹监测节点,并由此锚节点接收来自其他M-1个指纹监测节点发送的RSSI。那么,放置在网格(i, j)内的锚节点接收到的平均RSSI值可以表示为:

其中,φi,j(k)为除在(i, j)位置的锚节点外的第k(k=1,2,…,M-1)个锚节点发送的RSSI值。于是,可得到各个锚节点间的指纹监测矩阵:

将指纹监测矩阵与初始的RSSI指纹库θ中相应位置的RSSI值相比较,得出一个在线阶段的标准差矩阵:

离线指纹库的数据包括每个网格相对于各个锚节点的RSSI值、每个锚节点的坐标值、每个锚节点的标准差、网格间距和初始的锚节点分布机制。当定位系统工作正常时,利用初始离线指纹库,能对多个目标节点实现精确定位。但是,若某个锚节点出现问题,则指纹库需更新后再投入使用。

若锚节点为严重受损,则屏蔽来自该锚节点的在线数据,并删除指纹库的相应数据,避免其影响重构结果;若锚节点为轻微受损,如连接功率变差,信号强度轻微变弱,则保留与该锚节点相关的在线测量值,对指纹库中的相关数据进行重新插值计算。当第i个锚节点轻微受损,第j个锚节点严重受损时,指纹库可表示为:

可以看到,第i个锚节点相关的一行,其对应每个网格的RSSI值通过插值计算被重新更新,第j个锚节点相关的一行RSSI值已被置0。同时,锚节点的数目及离线标准差也需要做相应更新。

4 仿真实验及分析

运用Matlab仿真实验,对提出的抗异指纹库进行仿真。选择20 m×20 m的正方形区域作为模拟监测范围,并将其划分为20×20的网格。实验给出1~10个不同数量的待测目标节点,初始设置12个完好锚节点,首先建立好初始指纹库。此处,用平均定位误差反应定位效果,可通过计算k个待测目标的测量位置与实际位置的平均差值得出。假设第i个待测目标的估计位置坐标为(xi,yi),实际位置坐标为,式(23)即为该节点的平均定位误差:

在线阶段定位开始前,分别设置其中一个锚节点为轻微损坏情况和严重损坏情况,具体分布如图4所示。

图4描绘了一个锚节点受到损坏的其中一种情况。因为有12个锚节点,将在最后取平均值。实验中,首先使用传统的指纹库进行定位重构,再用本文提出的抗异指纹库重构目标节点的位置,并计算目标节点的平均定位误差。比较结果如图5所示。

图4 仿真实验节点分布

图5 不同受损情况在不同指纹库中的定位误差

图5 表示,在利用传统指纹库进行定位重构时,锚节点无论是轻微受损或是严重受损,都会极大地影响定位效果。因为严重受损时信号偏差较大,所以定位偏差也相应更大。抗异指纹库通过相应的纠正,筛查出受损锚节点,排除了RSSI信号接收偏差带来的定位影响,因此能得到更好的定位效果。但是,由于环境等其他不稳定因素,定位偏差仍然不可避免。

图6表示不同受损锚节点个数在不同指纹库作用下对定位效果产生的影响。通过对比可知,在传统数据库中,存在2个受损锚节点相对于1个受损锚节点对定位的影响更大。但是,在抗异指纹库中,效果并不明显。这是由于抗异指纹库会将所有严重受损的锚节点筛选出来,屏蔽和删除相应的数据。因此,不论是单个受损锚节点,还是多个受损锚节点,都无法对定位结果产生严重影响。仔细观察,在抗异指纹库中,单个受损锚节点和两个受损锚节点的影响略有细微差异,因为删除的锚节点数量越多,参与定位的锚节点数量越少。众所周知,参考锚节点的数量越多,定位精度越高。

图6 不同受损锚节点个数在不同指纹库中的定位误差

5 结 语

无线传感器网络因其自身的特点常被运用于特殊环境中的定位问题。当锚节点出现损坏时,定位结果会出现很大偏差。抗异指纹库就是针对此问题而设计的。它运用一种插值优化算法,将插值函数分为确定性衰减函数和随机性变化函数两个部分。前者运用拟合方法结合少量的测量值,后者运用Kriging算法,能够较为快速地建立和更新指纹库。此外,抗异指纹库还提出一种投票机制,可确定每一个锚节点的可信度,从而筛查出受损锚节点,同时运用在线标准差的变化规律区分锚节点受损程度,最终实现指纹库的在线实时更新。仿真实验结果表明,抗异指纹库能够提高系统的稳定性,较运用传统的指纹库进行定位的系统,精确度更高,更能抵抗来自设备损坏造成的干扰。

猜你喜欢

插值指纹网格
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
像侦探一样提取指纹
为什么每个人的指纹都不一样
追逐
基于pade逼近的重心有理混合插值新方法
混合重叠网格插值方法的改进及应用
重叠网格装配中的一种改进ADT搜索方法
唯一的指纹
基于曲面展开的自由曲面网格划分
可疑的指纹