一种基于插值的室内指纹定位方法与流程

文档序号:11846505阅读:187来源:国知局
一种基于插值的室内指纹定位方法与流程
本发明主要涉及无线传感器网络室内定位领域,涉及基于插值的室内指纹定位方法。
背景技术
:随着传感器网络的普及,用户对于传感器设备的实际位置信息重视程度越来越高。目前存在较多的无线定位技术,如GPS、AGPS等室外定位技术和外、WIFI、蓝牙等室内定位技术。其中GPS相对成熟,它采用基于信号传输时间差TDOA来定位,此定位技术在室外精度较高。在室内定位领域中,由于室内环境的复杂性和不可控性,因此很多室内定位技术都有特定的应用场景。目前国内外无线传感器网络室内定位技术取得了显著的成果,指纹定位技术和基于RSSI的定位技术备受广泛关注。指纹定位技术在室内定位领域取得了的一定的进展,如MaYW等人研发的新颖指纹机制(NFM)室内定位系统,该系统使用接收器和发射器获取定位数据,并采用六个定位机制来提高定位精度。Modamed等人使用陀螺仪与指纹匹配算法相结合的室内定位方法对定位结果加以改进,但单陀螺仪的定向方法具有较大的局限性。李燕君等人提出利用众包更新指纹库的定位方法,但需定期对过期指纹进行筛减。肖亚龙等人基于不同位置之间信号强度差异表征对应物理空间距离,提出了一种基于多维标度和区域细化的无线室内定位方法,该方法有效地减少了训练阶段指纹采集的开销并且提高了定位精度。同时基于RSSI的定位技术的发展也十分迅速,如SorourS等人利用相邻位置节点的RSSI固有空间相关性提出了一种基于流形对齐的定位方法,该方法使用获取的具有RSSI空间相关性的数据集和一部分参考信息,通过半监督学习算法得到待测的位置;但此方法需要对异常值进行过滤而且计算复杂度较高。高仁强等人提出了一种结合模糊数学逻辑(FuzzyLogic)理论的WiFi定位算法,但手持设备接收信号波动性较大影响定位精度。石柯等人针对室内定位中环境复杂、信道拥塞等问题,提出了一种基于支持向量回归的802.11无线室内定位方法,该方法有效地提高了最终的定位精度。徐琨等人针对未知发射功率会降低网络定位性能的问题提出了一种针对未知发射功率的室内定位优化算法,该算法很好地提升了定位性能。基于传播损耗模型来提升定位精度也有一定的发展,如王跃等人针对室内定位接收功率干扰导致估计位置精度偏低的问题,提出了采用马儿可夫蒙特卡洛(MCMC)抽样来提高定位精度的室内定位算法。陈文建等人结合地理编码原理和二维码技术提出了QR(QuickResponse)标识导向的室内定位方法,提升了创新应用的新平台。现存较多室内定位方法的定位精度都有显著的提升,但指纹定位法的精度明显高于传播模型法;由于传统基于RSSI指纹定位算法在建立指纹过程中工作量较大,需要对测量点逐个进行RSSI值测量,而这是一个繁琐且工作量很大的过程。技术实现要素:本发明要解决现有技术的上述缺点,提出一种基于插值的室内指纹定位方法,该方法仅需测量定位区域内已知位置的少量样本节点的RSSI值就能对定位区域内的未知位置点RSSI值进行最优无偏估计,最后采用匹配算法计算出节点的实际位置,有效地解决了室内环境发生变化而导致繁琐的指纹重构问题。本发明所述的基于插值的室内指纹定位方法,包括如下步骤:步骤1,卡尔曼滤波;步骤11,以已知位置待处理的RSSI(接收信号强度)值为输入,由于RSSI值易受干扰噪声的影响,而卡尔曼滤波是高斯过程最优滤波的一种有效算法,经处理得到目标RSSI值;步骤2,协同克里格插值算法;步骤21,以步骤11获取的RSSI值为主变量、节点的LQI(通讯链路质量)值为辅变量作为输入,使用协同克里个插值算法对定位区域内的未知位置点的RSSI值进行最优、无偏、线性估计,具体步骤包括为:步骤211,使用协同克里格插值算法找到样本点之间的依存关系,首先利用配对关系Pairi=(di,RSSIi)、Pairj=(dj,LQIj)(di和dj分别表示两个传感器节点间的距离,RSSIi和LQIj表示传感器节点所获取的RSSI值和对应的LQI值)进行自相关性和互相关心过的空间建模,具体步骤包括为:步骤2111,根据测量的样本点在空间上的分布情况,分析自相关性的半变异函数,如公式(1)所示γ(h)=12nΣi=1n(z(xa)-z(xa+h))2---(1)]]>式(1)中n表示关系对Pairi的数量,z(xa)和z(xa+h)分别表示配对的两个节点的属性值(RSSI和LQI),h表示两节点间距离,γ(h)表示半变异函数,通过公式(1)获得关系对Pairi和Pairj各自的半变异函数值;步骤2112,根据测量的样本点在空间上的分布情况,分析互相关性的半变异函数,如公式(2)示γij(h)=12nΣi=1n[zi(xa)-zi(xa+h)]×[zj(xa)-zj(xa+h)]---(2)]]>式(2)中n表示Pair的数量,zi(xa)和zi(xa+h)分别表示两个节点的RSSI值,zj(xa)和zj(xa+h)分别表示两个节点的LQI值,且距离均为h,γij(h)表示互半变异函数,通过公式(2)获得各个Pairi的半变异函数值;步骤2113,以步骤2111获取的关系对Pairi和Pairj各自的自相关的半变异函数和步骤2112获取的互相关的半变异函数为输入,接着采用最小二乘法进行拟合建立相关的半变异模型;步骤212,以步骤2113获取的自相关的和互相关的经验半变异模型为输入,对未知位置点的RSSI值进行预测,预测过程如下公式所示Z0i=Σ1mλiZi+Σ1nλjZj---(3)]]>式(3)中Z0i表示待估计位置的RSSI值,Zi和Zj分别表示距离待估计位置最近的节点测量得到的RSSI和LQI值,m和n分别代表RSSI和LQI所对应样本数量(同位属性m=n),λi和λj分别代表RSSI和LQI的权重系数,具体计算过程如下:Σ1mλi=1;Σ1nλj=0---(4)]]>Σi=1mλiγ11(x1i-xi)+Σj=1nλjγ12(x2j-x1)+u1=γ11(x0-xi)---(5)]]>Σi=1mλiγ21(x1i-x1)+Σj=1nλjγ22(x2j-x1)+u2=γ12(x0-xj)---(6)]]>式(4)、式(5)和式(6)中γ11和γ22分别是Zi(RSSI)和Zj(LQI)的自变异函数的理想模型,γ12和γ21代表的是两变量的互变异函数的理想模型,其中γ12=γ21,样本的权重系数λi和λj之和分别均为1,m和n分别为样本RSSI和LQI的数量,u1和u2为拉格朗日系数、权重系数λi和λj均可通过线性方程组(4)、(5)和(6)解得;步骤3,RSSI指纹建立;步骤31,采用步骤2的协同克里格插值算法可以建立一个信标节点对应在定位区域内的单维度指纹向量;步骤32,所有信标节点广播信号建立对应的单维度指纹向量,再对所有单维度指纹向量进行并集操作,具体步骤包括:步骤321,定位区域的长、宽分别为L和W,并将它划分为m行和n列,每个小格子的长和宽分别为Cl=L/m、Cw=W/N;步骤322,步骤321将定位区域D划分后,通过协同克里格插值算法计算每个小格子对应的RSSI值,这样就建立了信标节点A对应的单维度指纹fA,fA是一个m×n的指纹;步骤323,对信标节点B、C、D、E重复步骤322,分别构建单维度指纹fB、fC、fD和fE,最后对单维度指纹做并集建立定位区域的多维度指纹向量,那么第i(i∈{1,2,3,...,m×n})个格子对应的5维向量就是五个单维度指纹在该位置的RSSI值的并集,通过321、322、323三个步骤就可以建立完整的定位区域多维度指纹向量Ffinger=fA∪fB∪fC∪fD∪fE(5)式(5)中fi(i∈{A,B,C,D,E})表示信标节点i广播信号在定位区域内建立的单维指纹向量,Ffinger表示信标节点A、B、C、D、E对应的5个单维指纹向量的一个并集;步骤4,匹配定位算法;步骤41,以步骤323获得的多维指纹向量和需定位节点所获取到的多维RSSI向量为输入,使用向量相似度匹配算法得到相似度从高到低的前number个向量对应的格子,即是节点定位的范围,多维RSSI向量如下所示T5=RSSIaRSSIbRSSIcRSSIdRSSIe---(6)]]>式(6)中RSSIi(i∈{a,b,c,d,e})表示所对应的信标节点i广播信号时定位节点所获取的RSSI值,T5表示定位节点所获取到的5维RSSI指纹向量;步骤5,K-中心点算法聚类提取定位结果;步骤51,以步骤41获得的前number个格子为输入,使用K-中心店算法对这些格子进行分类,提取出含格子数最多簇的簇首(簇的几何中心)作为节点的实际定位结果输出。本发明的优点是:(1)协同克里格插值算法有效地减少了建立传统指纹构建所需要繁琐的工作量;(2)K-中心点聚类算法有效地缩小了误差范围,最后降低了定位的误差。附图说明图1本发明的样本配对关系图图2本发明的互变异函数拟合图图3本发明的预测过程图图4本发明的传感器节点部署图图5本发明的定位区域划分图图6本发明的目标节点定位区域图图7本发明的分簇定位图图8是实现本发明方法的系统示意图。具体实施方式下面结合附图进一步说明本发明。本发明所述的基于插值的室内指纹定位定位方法,包括如下步骤:步骤1,卡尔曼滤波;步骤11,本发明通过建立定位区域RSSI向量指纹的方法进行定位。然而传感器采集的RSSI信号并不稳定,易受干扰噪声的影响。而卡尔曼滤波是高斯过程最优滤波的一种有效算法,经处理得到目标RSSI值;步骤2,协同克里格插值算法;步骤21,协同克里格(Cokriging)算法能够对有限区域内的区域化变量进行最优、无偏地估计,因此能够很好地适用于区域内的RSSI值预测。协同克里格算法是指除了主变量外,同时还引入了协同区域变量的一种多变量的克里格算法;协同区域化变量是指在同一空间域内既有空间相关性又有统计相关性特点的一组变量。本发明采用的协同克里格算法以RSSI为主变量、LQI(链路通讯质量)为辅变量进行计算;因为RSSI和LQI在空间分布上呈正相关,因此符合此算法的变量要求。这两个变量除了进行自相关性预测外,还进行两变量间交叉相关性的预测,因此协同克里格算法在理论上具有更高的精确度。协同克里格算法具体的实现过程如下:步骤211建立依存关系;若使用协同克里格插值算法预测未知位置RSSI值,首先我们需要建立样本之间的依存规则。本发明使用采集的样本节点RSSI值和LQI值来进行对定位区域内未知位置RSSI值的预测;首先进行样本之间的配对,所有节点进行两两配对,配对后建立传感器节点之间距离d和RSSI之间的关系对Pairi=(di,RSSIi)和Pairj=(dj,LQIj)。配对过程如图1所示,利用关系对Pair进行自相关性和互相关性的空间建模,具体步骤如下:步骤2111根据测量的样本点在空间上的分布情况,分析自相关性的半变异函数,如公式(1)所示。γ(h)=12nΣi=1n(z(xa)-z(xa+h))2---(1)]]>式(1)中n表示关系对Pairi的数量,z(xa)和z(xa+h)分别表示配对的两个节点的RSSI值,h表示两节点间距离,γ(h)表示半变异函数。通过公式(1)获得各个Pairi的半变异函数值。步骤2112根据测量的样本点在空间上的分布情况,分析互相关性的半变异函数,如公式(2)示。γij(h)=12nΣi=1n[zi(xa)-zi(xa+h)]×[zj(xa)-zj(xa+h)]---(2)]]>式(2)中n表示Pairi的数量,zi(xa)和zi(xa+h)分别表示两个节点的RSSI值,zj(xa)和zj(xa+h)分别表示两个节点的LQI值,且距离均为h,γij(h)表示互半变异函数,通过公式(2)获得各个Pairi的半变异函数值。步骤2113经过公式(1)和公式(2)我们得到了关系对Pairi的自相关的半变异值γ(h)(包含RSSI和LQI的两个属性各自的半变异值)和互相关的半变异值γij(h)与对应两节点间距离h的关系,接着采用最小二乘法拟合,拟合建立相关的半变异模型。如图2中三角形代表Pairi关系对,曲线是互变异函数拟合模型的结果,根据拟合曲线匹配一个已有且误差最小的模型,然后根据统计模型生成预测表面,最后成功建立依存关系。步骤212预测估计;利用自相关的半变异模型和互相关的半变异模型对未知点位置的RSSI值进行最优无偏估计,如公式(3)所示。Z0i=Σ1mλiZi+Σ1nλjZj---(3)]]>式(3)中Z0i表示待估计位置的RSSI值,Zi和Zj分别表示距离待估计位置最近的节点测量得到的RSSI和LQI值,m和n分别代表RSSI和LQI所对应样本数量(同位属性m=n)。为了满足协同克里格插值算法最优无偏方差估计的要求,本发明必须满足以下两个条件,如公式(4)所示。本发明采用距离待预测点最近的4个样本点对Σ1mλi=1,Σ1nλj=0---(4)]]>待估计位置进行RSSI值的预测,m=n=4,并且引入两个拉格朗日公式进行推导可得式(5)和(6)。Σi=1mλiγ11(x1i-xi)+Σj=1nλjγ12(x2j-x1)+u1=γ11(x0-xi)---(5)]]>Σi=1mλiγ21(x1i-x1)+Σj=1nλjγ22(x2j-x1)+u2=γ12(x0-xj)---(6)]]>式(5)和式(6)中γ11和γ22分别是Zi和Zj的自变异函数的理想模型,γ12和γ21代表的是两变量的互变异函数的理想模型,其中γ12=γ21。求解线性方程组式(4),(5)和(6)即可获得权重系数λi和λj以及两个拉格朗日乘数u1和u2的值,最后由(3)式可得到研究区域内任一点Z0i的插值估计,预测过程采用距离待预测点最近的四个已知样本点进行预测,如图3所示。步骤3RSSI指纹建立;步骤31,传统指纹构建是一个复杂和繁琐的过程,需要对定位区域内的测量点逐一地测量。本发明采用协同克里格插值算法构建定位区域的指纹,该方法仅需有限的样本点对定位区域内未知位置点RSSI值进行线性无偏的估计;一旦室内环境发生变化,RSSI指纹重构也很方便。本发明采用25个已知位置的传感器节点组成传感器网络,其中5个用于定位的锚节点,剩余的20个普通节点用于辅助构建定位区域的RSSI指纹,如图4所示,图中5个锚节点依次广播信号,定位区域内建立5维指纹向量。步骤32,首先锚节点A向其他节点广播信号,剩余节点接收到锚节点A广播的信号并获取信号强度RSSI值;本发明中已知节点分布在定位区域内的位置是已知的,且节点均能获取到信号强度RSSI值和通讯链路质量LQI值,因此我们就可以建立步骤211中的Pairi和Pairj关系对;再采用协同克里格插值算法对定位区域内未知点位置的RSSI值进行线性最优无偏估计;最后就成功建立锚节点A在定位区域内的单维RSSI向量指纹。剩余四个锚节点采用同样的方法构建向量指纹,那么定位区域内5维RSSI指纹向量就完成构建。定位区域的多维向量指纹构建具体实现过程如下:步骤321,定位区域的长、宽分别为L和W,并将它划分为m行n列,每个小格子的长和宽分别为Cl=l/m,Cw=w/n,如图5所示。步骤322,上一步骤将定位区域划分后,在这一步骤中利用Node节点建立的Pairi(RSSI)和Pairj(LQI)与h的关系,通过协同克里格插值算法计算每个小格子对应的RSSI值。这样就建立了信标节点A对应的单维度指纹fA,fA是一个m×n的指纹。步骤323,通过上一步我们建立锚节点A的RSSI指纹向量,同样对B、C、D、E锚节点重复进行步骤二操作就可以分别建立单维度指纹fB、fC、fD和fE,最后对定位区域内的fA、fB、fC、fD和fE的五个RSSI指纹向量做并集,如式(7)所示。Ffinger=fA∪fB∪fC∪fD∪fE(7)步骤4,匹配定位算法;步骤41,在步骤323成功构建了定位区域内的多维RSSI向量指纹,用于此步骤对目标节点实现定位。多维RSSI指纹向量构建成功之后,将定位区域内的普通节点全部撤离定位区域,目标节点进入定位区域内,五个锚节点依次向目标节点广播信号,如图6所示,红色三角形代表目标节点。目标节点先获取到一个有序的5维RSSI指纹向量T5,如公式(8)所示,再进行基于向量相似度算法的匹配,提取出向量相似度最高的Number个小格子,即可获得定位结果的定位范围。T5=RSSIARSSIBRSSICRSSIDRSSIE---(8)]]>步骤5,K-中心点算法聚类提取定位结果;步骤51,因为实验过程中可能存在误差,所以在步骤41提取出向量相似度最高的Number个小格子中存在一些误差小格子。本发明采用K-中心聚类算法将误差范围剔除,步骤41提取的Number个小格子分布如图7所示,斜线阴影部分表示误差较大的格子,这些格子的数量比较少,全阴影的格子表示精度较高的格子,这些格子数量比较多。我们使用k-中心点聚类算法对Number个结果进行聚类,将得到一个含有格子数最大的簇,此簇的簇首作为目标节点的实际位置。如果我们将m×n个格子分的足够细,那么节点的定位误差控制在接受范围之内。目标节点定位的结果如图7中的三角形位置所示,该算法以格子的几何中心作为定位结果。因为我们把定位区域D划分为m×n个小格子,只要划分的足够精细,则定位误差就可控制在可被接受的范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1